diff --git a/.gitignore b/.gitignore
index c41cc9e..98bd010 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
-/target
\ No newline at end of file
+/target
+csflow/src/cs2dumper/offsets.rs
+csflow/src/cs2dumper/engine2.rs
+csflow/src/cs2dumper/client.rs
diff --git a/Cargo.lock b/Cargo.lock
index cdd83a9..c312aa4 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -477,7 +477,7 @@ dependencies = [
 
 [[package]]
 name = "csflow"
-version = "0.1.0"
+version = "0.1.1"
 dependencies = [
  "clap",
  "dataview 1.0.1",
@@ -1473,8 +1473,8 @@ dependencies = [
 ]
 
 [[package]]
-name = "radarflow-leech"
-version = "0.1.0"
+name = "radarflow"
+version = "0.2.0"
 dependencies = [
  "anyhow",
  "axum",
diff --git a/Cargo.toml b/Cargo.toml
index cb8dd41..30c545e 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,3 +1,3 @@
 [workspace]
-members = ["csflow", "radarflow-leech"]
+members = ["csflow", "radarflow"]
 resolver = "2"
\ No newline at end of file
diff --git a/build-docs.sh b/build-docs.sh
new file mode 100755
index 0000000..2cf887e
--- /dev/null
+++ b/build-docs.sh
@@ -0,0 +1,4 @@
+cargo doc --no-deps
+rm -rf ./docs
+echo "<meta http-equiv=\"refresh\" content=\"0; url=build_wheel\">" > target/doc/index.html
+cp -r target/doc ./docs
\ No newline at end of file
diff --git a/csflow/src/cs2dumper/client.rs b/csflow/src/cs2dumper/client.rs
deleted file mode 100644
index 9cd8bea..0000000
--- a/csflow/src/cs2dumper/client.rs
+++ /dev/null
@@ -1,4170 +0,0 @@
-/*
- * Created using https://github.com/a2x/cs2-dumper
- * Sat, 30 Dec 2023 03:17:26 +0000
- */
-
-#![allow(non_snake_case, non_upper_case_globals)]
-
-pub mod ActiveModelConfig_t {
-    pub const m_Handle: usize = 0x28; // ModelConfigHandle_t
-    pub const m_Name: usize = 0x30; // CUtlSymbolLarge
-    pub const m_AssociatedEntities: usize = 0x38; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
-    pub const m_AssociatedEntityNames: usize = 0x50; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
-}
-
-pub mod CAnimGraphNetworkedVariables {
-    pub const m_PredNetBoolVariables: usize = 0x8; // C_NetworkUtlVectorBase<uint32_t>
-    pub const m_PredNetByteVariables: usize = 0x20; // C_NetworkUtlVectorBase<uint8_t>
-    pub const m_PredNetUInt16Variables: usize = 0x38; // C_NetworkUtlVectorBase<uint16_t>
-    pub const m_PredNetIntVariables: usize = 0x50; // C_NetworkUtlVectorBase<int32_t>
-    pub const m_PredNetUInt32Variables: usize = 0x68; // C_NetworkUtlVectorBase<uint32_t>
-    pub const m_PredNetUInt64Variables: usize = 0x80; // C_NetworkUtlVectorBase<uint64_t>
-    pub const m_PredNetFloatVariables: usize = 0x98; // C_NetworkUtlVectorBase<float>
-    pub const m_PredNetVectorVariables: usize = 0xB0; // C_NetworkUtlVectorBase<Vector>
-    pub const m_PredNetQuaternionVariables: usize = 0xC8; // C_NetworkUtlVectorBase<Quaternion>
-    pub const m_OwnerOnlyPredNetBoolVariables: usize = 0xE0; // C_NetworkUtlVectorBase<uint32_t>
-    pub const m_OwnerOnlyPredNetByteVariables: usize = 0xF8; // C_NetworkUtlVectorBase<uint8_t>
-    pub const m_OwnerOnlyPredNetUInt16Variables: usize = 0x110; // C_NetworkUtlVectorBase<uint16_t>
-    pub const m_OwnerOnlyPredNetIntVariables: usize = 0x128; // C_NetworkUtlVectorBase<int32_t>
-    pub const m_OwnerOnlyPredNetUInt32Variables: usize = 0x140; // C_NetworkUtlVectorBase<uint32_t>
-    pub const m_OwnerOnlyPredNetUInt64Variables: usize = 0x158; // C_NetworkUtlVectorBase<uint64_t>
-    pub const m_OwnerOnlyPredNetFloatVariables: usize = 0x170; // C_NetworkUtlVectorBase<float>
-    pub const m_OwnerOnlyPredNetVectorVariables: usize = 0x188; // C_NetworkUtlVectorBase<Vector>
-    pub const m_OwnerOnlyPredNetQuaternionVariables: usize = 0x1A0; // C_NetworkUtlVectorBase<Quaternion>
-    pub const m_nBoolVariablesCount: usize = 0x1B8; // int32_t
-    pub const m_nOwnerOnlyBoolVariablesCount: usize = 0x1BC; // int32_t
-    pub const m_nRandomSeedOffset: usize = 0x1C0; // int32_t
-    pub const m_flLastTeleportTime: usize = 0x1C4; // float
-}
-
-pub mod CAttributeList {
-    pub const m_Attributes: usize = 0x8; // C_UtlVectorEmbeddedNetworkVar<CEconItemAttribute>
-    pub const m_pManager: usize = 0x58; // CAttributeManager*
-}
-
-pub mod CAttributeManager {
-    pub const m_Providers: usize = 0x8; // CUtlVector<CHandle<C_BaseEntity>>
-    pub const m_iReapplyProvisionParity: usize = 0x20; // int32_t
-    pub const m_hOuter: usize = 0x24; // CHandle<C_BaseEntity>
-    pub const m_bPreventLoopback: usize = 0x28; // bool
-    pub const m_ProviderType: usize = 0x2C; // attributeprovidertypes_t
-    pub const m_CachedResults: usize = 0x30; // CUtlVector<CAttributeManager::cached_attribute_float_t>
-}
-
-pub mod CAttributeManager_cached_attribute_float_t {
-    pub const flIn: usize = 0x0; // float
-    pub const iAttribHook: usize = 0x8; // CUtlSymbolLarge
-    pub const flOut: usize = 0x10; // float
-}
-
-pub mod CBaseAnimGraph { // C_BaseModelEntity
-    pub const m_bInitiallyPopulateInterpHistory: usize = 0xCC0; // bool
-    pub const m_bShouldAnimateDuringGameplayPause: usize = 0xCC1; // bool
-    pub const m_bSuppressAnimEventSounds: usize = 0xCC3; // bool
-    pub const m_bAnimGraphUpdateEnabled: usize = 0xCD0; // bool
-    pub const m_flMaxSlopeDistance: usize = 0xCD4; // float
-    pub const m_vLastSlopeCheckPos: usize = 0xCD8; // Vector
-    pub const m_vecForce: usize = 0xCE8; // Vector
-    pub const m_nForceBone: usize = 0xCF4; // int32_t
-    pub const m_pClientsideRagdoll: usize = 0xCF8; // CBaseAnimGraph*
-    pub const m_bBuiltRagdoll: usize = 0xD00; // bool
-    pub const m_pRagdollPose: usize = 0xD18; // PhysicsRagdollPose_t*
-    pub const m_bClientRagdoll: usize = 0xD20; // bool
-    pub const m_bHasAnimatedMaterialAttributes: usize = 0xD30; // bool
-}
-
-pub mod CBaseAnimGraphController { // CSkeletonAnimationController
-    pub const m_baseLayer: usize = 0x18; // CNetworkedSequenceOperation
-    pub const m_animGraphNetworkedVars: usize = 0x40; // CAnimGraphNetworkedVariables
-    pub const m_bSequenceFinished: usize = 0x1320; // bool
-    pub const m_flLastEventCycle: usize = 0x1324; // float
-    pub const m_flLastEventAnimTime: usize = 0x1328; // float
-    pub const m_flPlaybackRate: usize = 0x132C; // CNetworkedQuantizedFloat
-    pub const m_flPrevAnimTime: usize = 0x1334; // float
-    pub const m_bClientSideAnimation: usize = 0x1338; // bool
-    pub const m_bNetworkedAnimationInputsChanged: usize = 0x1339; // bool
-    pub const m_nPrevNewSequenceParity: usize = 0x133A; // uint8_t
-    pub const m_nPrevResetEventsParity: usize = 0x133B; // uint8_t
-    pub const m_nNewSequenceParity: usize = 0x133C; // int32_t
-    pub const m_nResetEventsParity: usize = 0x1340; // int32_t
-    pub const m_nAnimLoopMode: usize = 0x1344; // AnimLoopMode_t
-    pub const m_hAnimationUpdate: usize = 0x13E4; // AnimationUpdateListHandle_t
-    pub const m_hLastAnimEventSequence: usize = 0x13E8; // HSequence
-}
-
-pub mod CBasePlayerController { // C_BaseEntity
-    pub const m_nFinalPredictedTick: usize = 0x548; // int32_t
-    pub const m_CommandContext: usize = 0x550; // C_CommandContext
-    pub const m_nInButtonsWhichAreToggles: usize = 0x600; // uint64_t
-    pub const m_nTickBase: usize = 0x608; // uint32_t
-    pub const m_hPawn: usize = 0x60C; // CHandle<C_BasePlayerPawn>
-    pub const m_hPredictedPawn: usize = 0x610; // CHandle<C_BasePlayerPawn>
-    pub const m_nSplitScreenSlot: usize = 0x614; // CSplitScreenSlot
-    pub const m_hSplitOwner: usize = 0x618; // CHandle<CBasePlayerController>
-    pub const m_hSplitScreenPlayers: usize = 0x620; // CUtlVector<CHandle<CBasePlayerController>>
-    pub const m_bIsHLTV: usize = 0x638; // bool
-    pub const m_iConnected: usize = 0x63C; // PlayerConnectedState
-    pub const m_iszPlayerName: usize = 0x640; // char[128]
-    pub const m_steamID: usize = 0x6C8; // uint64_t
-    pub const m_bIsLocalPlayerController: usize = 0x6D0; // bool
-    pub const m_iDesiredFOV: usize = 0x6D4; // uint32_t
-}
-
-pub mod CBasePlayerVData { // CEntitySubclassVDataBase
-    pub const m_sModelName: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_flHeadDamageMultiplier: usize = 0x108; // CSkillFloat
-    pub const m_flChestDamageMultiplier: usize = 0x118; // CSkillFloat
-    pub const m_flStomachDamageMultiplier: usize = 0x128; // CSkillFloat
-    pub const m_flArmDamageMultiplier: usize = 0x138; // CSkillFloat
-    pub const m_flLegDamageMultiplier: usize = 0x148; // CSkillFloat
-    pub const m_flHoldBreathTime: usize = 0x158; // float
-    pub const m_flDrowningDamageInterval: usize = 0x15C; // float
-    pub const m_nDrowningDamageInitial: usize = 0x160; // int32_t
-    pub const m_nDrowningDamageMax: usize = 0x164; // int32_t
-    pub const m_nWaterSpeed: usize = 0x168; // int32_t
-    pub const m_flUseRange: usize = 0x16C; // float
-    pub const m_flUseAngleTolerance: usize = 0x170; // float
-    pub const m_flCrouchTime: usize = 0x174; // float
-}
-
-pub mod CBasePlayerWeaponVData { // CEntitySubclassVDataBase
-    pub const m_szWorldModel: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_bBuiltRightHanded: usize = 0x108; // bool
-    pub const m_bAllowFlipping: usize = 0x109; // bool
-    pub const m_bIsFullAuto: usize = 0x10A; // bool
-    pub const m_nNumBullets: usize = 0x10C; // int32_t
-    pub const m_sMuzzleAttachment: usize = 0x110; // CUtlString
-    pub const m_szMuzzleFlashParticle: usize = 0x118; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_iFlags: usize = 0x1F8; // ItemFlagTypes_t
-    pub const m_nPrimaryAmmoType: usize = 0x1F9; // AmmoIndex_t
-    pub const m_nSecondaryAmmoType: usize = 0x1FA; // AmmoIndex_t
-    pub const m_iMaxClip1: usize = 0x1FC; // int32_t
-    pub const m_iMaxClip2: usize = 0x200; // int32_t
-    pub const m_iDefaultClip1: usize = 0x204; // int32_t
-    pub const m_iDefaultClip2: usize = 0x208; // int32_t
-    pub const m_iWeight: usize = 0x20C; // int32_t
-    pub const m_bAutoSwitchTo: usize = 0x210; // bool
-    pub const m_bAutoSwitchFrom: usize = 0x211; // bool
-    pub const m_iRumbleEffect: usize = 0x214; // RumbleEffect_t
-    pub const m_aShootSounds: usize = 0x218; // CUtlMap<WeaponSound_t,CSoundEventName>
-    pub const m_iSlot: usize = 0x238; // int32_t
-    pub const m_iPosition: usize = 0x23C; // int32_t
-}
-
-pub mod CBaseProp { // CBaseAnimGraph
-    pub const m_bModelOverrodeBlockLOS: usize = 0xE80; // bool
-    pub const m_iShapeType: usize = 0xE84; // int32_t
-    pub const m_bConformToCollisionBounds: usize = 0xE88; // bool
-    pub const m_mPreferredCatchTransform: usize = 0xE8C; // matrix3x4_t
-}
-
-pub mod CBodyComponent { // CEntityComponent
-    pub const m_pSceneNode: usize = 0x8; // CGameSceneNode*
-    pub const __m_pChainEntity: usize = 0x20; // CNetworkVarChainer
-}
-
-pub mod CBodyComponentBaseAnimGraph { // CBodyComponentSkeletonInstance
-    pub const m_animationController: usize = 0x480; // CBaseAnimGraphController
-    pub const __m_pChainEntity: usize = 0x18C0; // CNetworkVarChainer
-}
-
-pub mod CBodyComponentBaseModelEntity { // CBodyComponentSkeletonInstance
-    pub const __m_pChainEntity: usize = 0x480; // CNetworkVarChainer
-}
-
-pub mod CBodyComponentPoint { // CBodyComponent
-    pub const m_sceneNode: usize = 0x50; // CGameSceneNode
-    pub const __m_pChainEntity: usize = 0x1A0; // CNetworkVarChainer
-}
-
-pub mod CBodyComponentSkeletonInstance { // CBodyComponent
-    pub const m_skeletonInstance: usize = 0x50; // CSkeletonInstance
-    pub const __m_pChainEntity: usize = 0x450; // CNetworkVarChainer
-}
-
-pub mod CBombTarget { // C_BaseTrigger
-    pub const m_bBombPlantedHere: usize = 0xCC8; // bool
-}
-
-pub mod CBreachCharge { // C_CSWeaponBase
-}
-
-pub mod CBreachChargeProjectile { // C_BaseGrenade
-}
-
-pub mod CBumpMine { // C_CSWeaponBase
-}
-
-pub mod CBumpMineProjectile { // C_BaseGrenade
-}
-
-pub mod CBuoyancyHelper {
-    pub const m_flFluidDensity: usize = 0x18; // float
-}
-
-pub mod CCSGO_WingmanIntroCharacterPosition { // C_CSGO_TeamIntroCharacterPosition
-}
-
-pub mod CCSGO_WingmanIntroCounterTerroristPosition { // CCSGO_WingmanIntroCharacterPosition
-}
-
-pub mod CCSGO_WingmanIntroTerroristPosition { // CCSGO_WingmanIntroCharacterPosition
-}
-
-pub mod CCSGameModeRules {
-    pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
-}
-
-pub mod CCSGameModeRules_Deathmatch { // CCSGameModeRules
-    pub const m_bFirstThink: usize = 0x30; // bool
-    pub const m_bFirstThinkAfterConnected: usize = 0x31; // bool
-    pub const m_flDMBonusStartTime: usize = 0x34; // GameTime_t
-    pub const m_flDMBonusTimeLength: usize = 0x38; // float
-    pub const m_nDMBonusWeaponLoadoutSlot: usize = 0x3C; // int16_t
-}
-
-pub mod CCSGameModeRules_Noop { // CCSGameModeRules
-}
-
-pub mod CCSGameModeRules_Scripted { // CCSGameModeRules
-}
-
-pub mod CCSGameModeScript { // CBasePulseGraphInstance
-}
-
-pub mod CCSObserver_CameraServices { // CCSPlayerBase_CameraServices
-}
-
-pub mod CCSObserver_MovementServices { // CPlayer_MovementServices
-}
-
-pub mod CCSObserver_ObserverServices { // CPlayer_ObserverServices
-    pub const m_hLastObserverTarget: usize = 0x58; // CEntityHandle
-    pub const m_vecObserverInterpolateOffset: usize = 0x5C; // Vector
-    pub const m_vecObserverInterpStartPos: usize = 0x68; // Vector
-    pub const m_flObsInterp_PathLength: usize = 0x74; // float
-    pub const m_qObsInterp_OrientationStart: usize = 0x80; // Quaternion
-    pub const m_qObsInterp_OrientationTravelDir: usize = 0x90; // Quaternion
-    pub const m_obsInterpState: usize = 0xA0; // ObserverInterpState_t
-    pub const m_bObserverInterpolationNeedsDeferredSetup: usize = 0xA4; // bool
-}
-
-pub mod CCSObserver_UseServices { // CPlayer_UseServices
-}
-
-pub mod CCSObserver_ViewModelServices { // CPlayer_ViewModelServices
-}
-
-pub mod CCSPlayerBase_CameraServices { // CPlayer_CameraServices
-    pub const m_iFOV: usize = 0x210; // uint32_t
-    pub const m_iFOVStart: usize = 0x214; // uint32_t
-    pub const m_flFOVTime: usize = 0x218; // GameTime_t
-    pub const m_flFOVRate: usize = 0x21C; // float
-    pub const m_hZoomOwner: usize = 0x220; // CHandle<C_BaseEntity>
-    pub const m_flLastShotFOV: usize = 0x224; // float
-}
-
-pub mod CCSPlayerController { // CBasePlayerController
-    pub const m_pInGameMoneyServices: usize = 0x700; // CCSPlayerController_InGameMoneyServices*
-    pub const m_pInventoryServices: usize = 0x708; // CCSPlayerController_InventoryServices*
-    pub const m_pActionTrackingServices: usize = 0x710; // CCSPlayerController_ActionTrackingServices*
-    pub const m_pDamageServices: usize = 0x718; // CCSPlayerController_DamageServices*
-    pub const m_iPing: usize = 0x720; // uint32_t
-    pub const m_bHasCommunicationAbuseMute: usize = 0x724; // bool
-    pub const m_szCrosshairCodes: usize = 0x728; // CUtlSymbolLarge
-    pub const m_iPendingTeamNum: usize = 0x730; // uint8_t
-    pub const m_flForceTeamTime: usize = 0x734; // GameTime_t
-    pub const m_iCompTeammateColor: usize = 0x738; // int32_t
-    pub const m_bEverPlayedOnTeam: usize = 0x73C; // bool
-    pub const m_flPreviousForceJoinTeamTime: usize = 0x740; // GameTime_t
-    pub const m_szClan: usize = 0x748; // CUtlSymbolLarge
-    pub const m_sSanitizedPlayerName: usize = 0x750; // CUtlString
-    pub const m_iCoachingTeam: usize = 0x758; // int32_t
-    pub const m_nPlayerDominated: usize = 0x760; // uint64_t
-    pub const m_nPlayerDominatingMe: usize = 0x768; // uint64_t
-    pub const m_iCompetitiveRanking: usize = 0x770; // int32_t
-    pub const m_iCompetitiveWins: usize = 0x774; // int32_t
-    pub const m_iCompetitiveRankType: usize = 0x778; // int8_t
-    pub const m_iCompetitiveRankingPredicted_Win: usize = 0x77C; // int32_t
-    pub const m_iCompetitiveRankingPredicted_Loss: usize = 0x780; // int32_t
-    pub const m_iCompetitiveRankingPredicted_Tie: usize = 0x784; // int32_t
-    pub const m_nEndMatchNextMapVote: usize = 0x788; // int32_t
-    pub const m_unActiveQuestId: usize = 0x78C; // uint16_t
-    pub const m_nQuestProgressReason: usize = 0x790; // QuestProgress::Reason
-    pub const m_unPlayerTvControlFlags: usize = 0x794; // uint32_t
-    pub const m_iDraftIndex: usize = 0x7C0; // int32_t
-    pub const m_msQueuedModeDisconnectionTimestamp: usize = 0x7C4; // uint32_t
-    pub const m_uiAbandonRecordedReason: usize = 0x7C8; // uint32_t
-    pub const m_bCannotBeKicked: usize = 0x7CC; // bool
-    pub const m_bEverFullyConnected: usize = 0x7CD; // bool
-    pub const m_bAbandonAllowsSurrender: usize = 0x7CE; // bool
-    pub const m_bAbandonOffersInstantSurrender: usize = 0x7CF; // bool
-    pub const m_bDisconnection1MinWarningPrinted: usize = 0x7D0; // bool
-    pub const m_bScoreReported: usize = 0x7D1; // bool
-    pub const m_nDisconnectionTick: usize = 0x7D4; // int32_t
-    pub const m_bControllingBot: usize = 0x7E0; // bool
-    pub const m_bHasControlledBotThisRound: usize = 0x7E1; // bool
-    pub const m_bHasBeenControlledByPlayerThisRound: usize = 0x7E2; // bool
-    pub const m_nBotsControlledThisRound: usize = 0x7E4; // int32_t
-    pub const m_bCanControlObservedBot: usize = 0x7E8; // bool
-    pub const m_hPlayerPawn: usize = 0x7EC; // CHandle<C_CSPlayerPawn>
-    pub const m_hObserverPawn: usize = 0x7F0; // CHandle<C_CSObserverPawn>
-    pub const m_bPawnIsAlive: usize = 0x7F4; // bool
-    pub const m_iPawnHealth: usize = 0x7F8; // uint32_t
-    pub const m_iPawnArmor: usize = 0x7FC; // int32_t
-    pub const m_bPawnHasDefuser: usize = 0x800; // bool
-    pub const m_bPawnHasHelmet: usize = 0x801; // bool
-    pub const m_nPawnCharacterDefIndex: usize = 0x802; // uint16_t
-    pub const m_iPawnLifetimeStart: usize = 0x804; // int32_t
-    pub const m_iPawnLifetimeEnd: usize = 0x808; // int32_t
-    pub const m_iPawnBotDifficulty: usize = 0x80C; // int32_t
-    pub const m_hOriginalControllerOfCurrentPawn: usize = 0x810; // CHandle<CCSPlayerController>
-    pub const m_iScore: usize = 0x814; // int32_t
-    pub const m_vecKills: usize = 0x818; // C_NetworkUtlVectorBase<EKillTypes_t>
-    pub const m_iMVPs: usize = 0x830; // int32_t
-    pub const m_bIsPlayerNameDirty: usize = 0x834; // bool
-}
-
-pub mod CCSPlayerController_ActionTrackingServices { // CPlayerControllerComponent
-    pub const m_perRoundStats: usize = 0x40; // C_UtlVectorEmbeddedNetworkVar<CSPerRoundStats_t>
-    pub const m_matchStats: usize = 0x90; // CSMatchStats_t
-    pub const m_iNumRoundKills: usize = 0x108; // int32_t
-    pub const m_iNumRoundKillsHeadshots: usize = 0x10C; // int32_t
-    pub const m_unTotalRoundDamageDealt: usize = 0x110; // uint32_t
-}
-
-pub mod CCSPlayerController_DamageServices { // CPlayerControllerComponent
-    pub const m_nSendUpdate: usize = 0x40; // int32_t
-    pub const m_DamageList: usize = 0x48; // C_UtlVectorEmbeddedNetworkVar<CDamageRecord>
-}
-
-pub mod CCSPlayerController_InGameMoneyServices { // CPlayerControllerComponent
-    pub const m_iAccount: usize = 0x40; // int32_t
-    pub const m_iStartAccount: usize = 0x44; // int32_t
-    pub const m_iTotalCashSpent: usize = 0x48; // int32_t
-    pub const m_iCashSpentThisRound: usize = 0x4C; // int32_t
-    pub const m_nPreviousAccount: usize = 0x50; // int32_t
-}
-
-pub mod CCSPlayerController_InventoryServices { // CPlayerControllerComponent
-    pub const m_unMusicID: usize = 0x40; // uint16_t
-    pub const m_rank: usize = 0x44; // MedalRank_t[6]
-    pub const m_nPersonaDataPublicLevel: usize = 0x5C; // int32_t
-    pub const m_nPersonaDataPublicCommendsLeader: usize = 0x60; // int32_t
-    pub const m_nPersonaDataPublicCommendsTeacher: usize = 0x64; // int32_t
-    pub const m_nPersonaDataPublicCommendsFriendly: usize = 0x68; // int32_t
-    pub const m_vecServerAuthoritativeWeaponSlots: usize = 0x70; // C_UtlVectorEmbeddedNetworkVar<ServerAuthoritativeWeaponSlot_t>
-}
-
-pub mod CCSPlayer_ActionTrackingServices { // CPlayerPawnComponent
-    pub const m_hLastWeaponBeforeC4AutoSwitch: usize = 0x40; // CHandle<C_BasePlayerWeapon>
-    pub const m_bIsRescuing: usize = 0x44; // bool
-    pub const m_weaponPurchasesThisMatch: usize = 0x48; // WeaponPurchaseTracker_t
-    pub const m_weaponPurchasesThisRound: usize = 0xA0; // WeaponPurchaseTracker_t
-}
-
-pub mod CCSPlayer_BulletServices { // CPlayerPawnComponent
-    pub const m_totalHitsOnServer: usize = 0x40; // int32_t
-}
-
-pub mod CCSPlayer_BuyServices { // CPlayerPawnComponent
-    pub const m_vecSellbackPurchaseEntries: usize = 0x40; // C_UtlVectorEmbeddedNetworkVar<SellbackPurchaseEntry_t>
-}
-
-pub mod CCSPlayer_CameraServices { // CCSPlayerBase_CameraServices
-    pub const m_flDeathCamTilt: usize = 0x228; // float
-}
-
-pub mod CCSPlayer_GlowServices { // CPlayerPawnComponent
-}
-
-pub mod CCSPlayer_HostageServices { // CPlayerPawnComponent
-    pub const m_hCarriedHostage: usize = 0x40; // CHandle<C_BaseEntity>
-    pub const m_hCarriedHostageProp: usize = 0x44; // CHandle<C_BaseEntity>
-}
-
-pub mod CCSPlayer_ItemServices { // CPlayer_ItemServices
-    pub const m_bHasDefuser: usize = 0x40; // bool
-    pub const m_bHasHelmet: usize = 0x41; // bool
-    pub const m_bHasHeavyArmor: usize = 0x42; // bool
-}
-
-pub mod CCSPlayer_MovementServices { // CPlayer_MovementServices_Humanoid
-    pub const m_flMaxFallVelocity: usize = 0x210; // float
-    pub const m_vecLadderNormal: usize = 0x214; // Vector
-    pub const m_nLadderSurfacePropIndex: usize = 0x220; // int32_t
-    pub const m_flDuckAmount: usize = 0x224; // float
-    pub const m_flDuckSpeed: usize = 0x228; // float
-    pub const m_bDuckOverride: usize = 0x22C; // bool
-    pub const m_bDesiresDuck: usize = 0x22D; // bool
-    pub const m_flDuckOffset: usize = 0x230; // float
-    pub const m_nDuckTimeMsecs: usize = 0x234; // uint32_t
-    pub const m_nDuckJumpTimeMsecs: usize = 0x238; // uint32_t
-    pub const m_nJumpTimeMsecs: usize = 0x23C; // uint32_t
-    pub const m_flLastDuckTime: usize = 0x240; // float
-    pub const m_vecLastPositionAtFullCrouchSpeed: usize = 0x250; // Vector2D
-    pub const m_duckUntilOnGround: usize = 0x258; // bool
-    pub const m_bHasWalkMovedSinceLastJump: usize = 0x259; // bool
-    pub const m_bInStuckTest: usize = 0x25A; // bool
-    pub const m_flStuckCheckTime: usize = 0x268; // float[64][2]
-    pub const m_nTraceCount: usize = 0x468; // int32_t
-    pub const m_StuckLast: usize = 0x46C; // int32_t
-    pub const m_bSpeedCropped: usize = 0x470; // bool
-    pub const m_nOldWaterLevel: usize = 0x474; // int32_t
-    pub const m_flWaterEntryTime: usize = 0x478; // float
-    pub const m_vecForward: usize = 0x47C; // Vector
-    pub const m_vecLeft: usize = 0x488; // Vector
-    pub const m_vecUp: usize = 0x494; // Vector
-    pub const m_vecPreviouslyPredictedOrigin: usize = 0x4A0; // Vector
-    pub const m_bOldJumpPressed: usize = 0x4AC; // bool
-    pub const m_flJumpPressedTime: usize = 0x4B0; // float
-    pub const m_flJumpUntil: usize = 0x4B4; // float
-    pub const m_flJumpVel: usize = 0x4B8; // float
-    pub const m_fStashGrenadeParameterWhen: usize = 0x4BC; // GameTime_t
-    pub const m_nButtonDownMaskPrev: usize = 0x4C0; // uint64_t
-    pub const m_flOffsetTickCompleteTime: usize = 0x4C8; // float
-    pub const m_flOffsetTickStashedSpeed: usize = 0x4CC; // float
-    pub const m_flStamina: usize = 0x4D0; // float
-    pub const m_bUpdatePredictedOriginAfterDataUpdate: usize = 0x4D4; // bool
-    pub const m_flHeightAtJumpStart: usize = 0x4D8; // float
-    pub const m_flMaxJumpHeightThisJump: usize = 0x4DC; // float
-}
-
-pub mod CCSPlayer_PingServices { // CPlayerPawnComponent
-    pub const m_hPlayerPing: usize = 0x40; // CHandle<C_BaseEntity>
-}
-
-pub mod CCSPlayer_UseServices { // CPlayer_UseServices
-}
-
-pub mod CCSPlayer_ViewModelServices { // CPlayer_ViewModelServices
-    pub const m_hViewModel: usize = 0x40; // CHandle<C_BaseViewModel>[3]
-}
-
-pub mod CCSPlayer_WaterServices { // CPlayer_WaterServices
-    pub const m_flWaterJumpTime: usize = 0x40; // float
-    pub const m_vecWaterJumpVel: usize = 0x44; // Vector
-    pub const m_flSwimSoundTime: usize = 0x50; // float
-}
-
-pub mod CCSPlayer_WeaponServices { // CPlayer_WeaponServices
-    pub const m_flNextAttack: usize = 0xC0; // GameTime_t
-    pub const m_bIsLookingAtWeapon: usize = 0xC4; // bool
-    pub const m_bIsHoldingLookAtWeapon: usize = 0xC5; // bool
-}
-
-pub mod CCSWeaponBaseVData { // CBasePlayerWeaponVData
-    pub const m_WeaponType: usize = 0x240; // CSWeaponType
-    pub const m_WeaponCategory: usize = 0x244; // CSWeaponCategory
-    pub const m_szViewModel: usize = 0x248; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_szPlayerModel: usize = 0x328; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_szWorldDroppedModel: usize = 0x408; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_szAimsightLensMaskModel: usize = 0x4E8; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_szMagazineModel: usize = 0x5C8; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeCModel>>
-    pub const m_szHeatEffect: usize = 0x6A8; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_szEjectBrassEffect: usize = 0x788; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_szMuzzleFlashParticleAlt: usize = 0x868; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_szMuzzleFlashThirdPersonParticle: usize = 0x948; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_szMuzzleFlashThirdPersonParticleAlt: usize = 0xA28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_szTracerParticle: usize = 0xB08; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_GearSlot: usize = 0xBE8; // gear_slot_t
-    pub const m_GearSlotPosition: usize = 0xBEC; // int32_t
-    pub const m_DefaultLoadoutSlot: usize = 0xBF0; // loadout_slot_t
-    pub const m_sWrongTeamMsg: usize = 0xBF8; // CUtlString
-    pub const m_nPrice: usize = 0xC00; // int32_t
-    pub const m_nKillAward: usize = 0xC04; // int32_t
-    pub const m_nPrimaryReserveAmmoMax: usize = 0xC08; // int32_t
-    pub const m_nSecondaryReserveAmmoMax: usize = 0xC0C; // int32_t
-    pub const m_bMeleeWeapon: usize = 0xC10; // bool
-    pub const m_bHasBurstMode: usize = 0xC11; // bool
-    pub const m_bIsRevolver: usize = 0xC12; // bool
-    pub const m_bCannotShootUnderwater: usize = 0xC13; // bool
-    pub const m_szName: usize = 0xC18; // CUtlString
-    pub const m_szAnimExtension: usize = 0xC20; // CUtlString
-    pub const m_eSilencerType: usize = 0xC28; // CSWeaponSilencerType
-    pub const m_nCrosshairMinDistance: usize = 0xC2C; // int32_t
-    pub const m_nCrosshairDeltaDistance: usize = 0xC30; // int32_t
-    pub const m_flCycleTime: usize = 0xC34; // CFiringModeFloat
-    pub const m_flMaxSpeed: usize = 0xC3C; // CFiringModeFloat
-    pub const m_flSpread: usize = 0xC44; // CFiringModeFloat
-    pub const m_flInaccuracyCrouch: usize = 0xC4C; // CFiringModeFloat
-    pub const m_flInaccuracyStand: usize = 0xC54; // CFiringModeFloat
-    pub const m_flInaccuracyJump: usize = 0xC5C; // CFiringModeFloat
-    pub const m_flInaccuracyLand: usize = 0xC64; // CFiringModeFloat
-    pub const m_flInaccuracyLadder: usize = 0xC6C; // CFiringModeFloat
-    pub const m_flInaccuracyFire: usize = 0xC74; // CFiringModeFloat
-    pub const m_flInaccuracyMove: usize = 0xC7C; // CFiringModeFloat
-    pub const m_flRecoilAngle: usize = 0xC84; // CFiringModeFloat
-    pub const m_flRecoilAngleVariance: usize = 0xC8C; // CFiringModeFloat
-    pub const m_flRecoilMagnitude: usize = 0xC94; // CFiringModeFloat
-    pub const m_flRecoilMagnitudeVariance: usize = 0xC9C; // CFiringModeFloat
-    pub const m_nTracerFrequency: usize = 0xCA4; // CFiringModeInt
-    pub const m_flInaccuracyJumpInitial: usize = 0xCAC; // float
-    pub const m_flInaccuracyJumpApex: usize = 0xCB0; // float
-    pub const m_flInaccuracyReload: usize = 0xCB4; // float
-    pub const m_nRecoilSeed: usize = 0xCB8; // int32_t
-    pub const m_nSpreadSeed: usize = 0xCBC; // int32_t
-    pub const m_flTimeToIdleAfterFire: usize = 0xCC0; // float
-    pub const m_flIdleInterval: usize = 0xCC4; // float
-    pub const m_flAttackMovespeedFactor: usize = 0xCC8; // float
-    pub const m_flHeatPerShot: usize = 0xCCC; // float
-    pub const m_flInaccuracyPitchShift: usize = 0xCD0; // float
-    pub const m_flInaccuracyAltSoundThreshold: usize = 0xCD4; // float
-    pub const m_flBotAudibleRange: usize = 0xCD8; // float
-    pub const m_szUseRadioSubtitle: usize = 0xCE0; // CUtlString
-    pub const m_bUnzoomsAfterShot: usize = 0xCE8; // bool
-    pub const m_bHideViewModelWhenZoomed: usize = 0xCE9; // bool
-    pub const m_nZoomLevels: usize = 0xCEC; // int32_t
-    pub const m_nZoomFOV1: usize = 0xCF0; // int32_t
-    pub const m_nZoomFOV2: usize = 0xCF4; // int32_t
-    pub const m_flZoomTime0: usize = 0xCF8; // float
-    pub const m_flZoomTime1: usize = 0xCFC; // float
-    pub const m_flZoomTime2: usize = 0xD00; // float
-    pub const m_flIronSightPullUpSpeed: usize = 0xD04; // float
-    pub const m_flIronSightPutDownSpeed: usize = 0xD08; // float
-    pub const m_flIronSightFOV: usize = 0xD0C; // float
-    pub const m_flIronSightPivotForward: usize = 0xD10; // float
-    pub const m_flIronSightLooseness: usize = 0xD14; // float
-    pub const m_angPivotAngle: usize = 0xD18; // QAngle
-    pub const m_vecIronSightEyePos: usize = 0xD24; // Vector
-    pub const m_nDamage: usize = 0xD30; // int32_t
-    pub const m_flHeadshotMultiplier: usize = 0xD34; // float
-    pub const m_flArmorRatio: usize = 0xD38; // float
-    pub const m_flPenetration: usize = 0xD3C; // float
-    pub const m_flRange: usize = 0xD40; // float
-    pub const m_flRangeModifier: usize = 0xD44; // float
-    pub const m_flFlinchVelocityModifierLarge: usize = 0xD48; // float
-    pub const m_flFlinchVelocityModifierSmall: usize = 0xD4C; // float
-    pub const m_flRecoveryTimeCrouch: usize = 0xD50; // float
-    pub const m_flRecoveryTimeStand: usize = 0xD54; // float
-    pub const m_flRecoveryTimeCrouchFinal: usize = 0xD58; // float
-    pub const m_flRecoveryTimeStandFinal: usize = 0xD5C; // float
-    pub const m_nRecoveryTransitionStartBullet: usize = 0xD60; // int32_t
-    pub const m_nRecoveryTransitionEndBullet: usize = 0xD64; // int32_t
-    pub const m_flThrowVelocity: usize = 0xD68; // float
-    pub const m_vSmokeColor: usize = 0xD6C; // Vector
-    pub const m_szAnimClass: usize = 0xD78; // CUtlString
-}
-
-pub mod CClientAlphaProperty { // IClientAlphaProperty
-    pub const m_nRenderFX: usize = 0x10; // uint8_t
-    pub const m_nRenderMode: usize = 0x11; // uint8_t
-    pub const m_bAlphaOverride: usize = 0x0; // bitfield:1
-    pub const m_bShadowAlphaOverride: usize = 0x0; // bitfield:1
-    pub const m_nReserved: usize = 0x0; // bitfield:6
-    pub const m_nAlpha: usize = 0x13; // uint8_t
-    pub const m_nDesyncOffset: usize = 0x14; // uint16_t
-    pub const m_nReserved2: usize = 0x16; // uint16_t
-    pub const m_nDistFadeStart: usize = 0x18; // uint16_t
-    pub const m_nDistFadeEnd: usize = 0x1A; // uint16_t
-    pub const m_flFadeScale: usize = 0x1C; // float
-    pub const m_flRenderFxStartTime: usize = 0x20; // GameTime_t
-    pub const m_flRenderFxDuration: usize = 0x24; // float
-}
-
-pub mod CCollisionProperty {
-    pub const m_collisionAttribute: usize = 0x10; // VPhysicsCollisionAttribute_t
-    pub const m_vecMins: usize = 0x40; // Vector
-    pub const m_vecMaxs: usize = 0x4C; // Vector
-    pub const m_usSolidFlags: usize = 0x5A; // uint8_t
-    pub const m_nSolidType: usize = 0x5B; // SolidType_t
-    pub const m_triggerBloat: usize = 0x5C; // uint8_t
-    pub const m_nSurroundType: usize = 0x5D; // SurroundingBoundsType_t
-    pub const m_CollisionGroup: usize = 0x5E; // uint8_t
-    pub const m_nEnablePhysics: usize = 0x5F; // uint8_t
-    pub const m_flBoundingRadius: usize = 0x60; // float
-    pub const m_vecSpecifiedSurroundingMins: usize = 0x64; // Vector
-    pub const m_vecSpecifiedSurroundingMaxs: usize = 0x70; // Vector
-    pub const m_vecSurroundingMaxs: usize = 0x7C; // Vector
-    pub const m_vecSurroundingMins: usize = 0x88; // Vector
-    pub const m_vCapsuleCenter1: usize = 0x94; // Vector
-    pub const m_vCapsuleCenter2: usize = 0xA0; // Vector
-    pub const m_flCapsuleRadius: usize = 0xAC; // float
-}
-
-pub mod CComicBook {
-    pub const m_CoverImage: usize = 0x8; // CPanoramaImageName
-    pub const m_XmlFile: usize = 0x18; // CUtlString
-}
-
-pub mod CCompositeMaterialEditorDoc {
-    pub const m_nVersion: usize = 0x8; // int32_t
-    pub const m_Points: usize = 0x10; // CUtlVector<CompositeMaterialEditorPoint_t>
-    pub const m_KVthumbnail: usize = 0x28; // KeyValues3
-}
-
-pub mod CDamageRecord {
-    pub const m_PlayerDamager: usize = 0x28; // CHandle<C_CSPlayerPawnBase>
-    pub const m_PlayerRecipient: usize = 0x2C; // CHandle<C_CSPlayerPawnBase>
-    pub const m_hPlayerControllerDamager: usize = 0x30; // CHandle<CCSPlayerController>
-    pub const m_hPlayerControllerRecipient: usize = 0x34; // CHandle<CCSPlayerController>
-    pub const m_szPlayerDamagerName: usize = 0x38; // CUtlString
-    pub const m_szPlayerRecipientName: usize = 0x40; // CUtlString
-    pub const m_DamagerXuid: usize = 0x48; // uint64_t
-    pub const m_RecipientXuid: usize = 0x50; // uint64_t
-    pub const m_iDamage: usize = 0x58; // int32_t
-    pub const m_iActualHealthRemoved: usize = 0x5C; // int32_t
-    pub const m_iNumHits: usize = 0x60; // int32_t
-    pub const m_iLastBulletUpdate: usize = 0x64; // int32_t
-    pub const m_bIsOtherEnemy: usize = 0x68; // bool
-    pub const m_killType: usize = 0x69; // EKillTypes_t
-}
-
-pub mod CDecalInfo {
-    pub const m_flAnimationScale: usize = 0x0; // float
-    pub const m_flAnimationLifeSpan: usize = 0x4; // float
-    pub const m_flPlaceTime: usize = 0x8; // float
-    pub const m_flFadeStartTime: usize = 0xC; // float
-    pub const m_flFadeDuration: usize = 0x10; // float
-    pub const m_nVBSlot: usize = 0x14; // int32_t
-    pub const m_nBoneIndex: usize = 0x18; // int32_t
-    pub const m_vPosition: usize = 0x28; // Vector
-    pub const m_flBoundingRadiusSqr: usize = 0x34; // float
-    pub const m_pNext: usize = 0x40; // CDecalInfo*
-    pub const m_pPrev: usize = 0x48; // CDecalInfo*
-    pub const m_nDecalMaterialIndex: usize = 0xA8; // int32_t
-}
-
-pub mod CEconItemAttribute {
-    pub const m_iAttributeDefinitionIndex: usize = 0x30; // uint16_t
-    pub const m_flValue: usize = 0x34; // float
-    pub const m_flInitialValue: usize = 0x38; // float
-    pub const m_nRefundableCurrency: usize = 0x3C; // int32_t
-    pub const m_bSetBonus: usize = 0x40; // bool
-}
-
-pub mod CEffectData {
-    pub const m_vOrigin: usize = 0x8; // Vector
-    pub const m_vStart: usize = 0x14; // Vector
-    pub const m_vNormal: usize = 0x20; // Vector
-    pub const m_vAngles: usize = 0x2C; // QAngle
-    pub const m_hEntity: usize = 0x38; // CEntityHandle
-    pub const m_hOtherEntity: usize = 0x3C; // CEntityHandle
-    pub const m_flScale: usize = 0x40; // float
-    pub const m_flMagnitude: usize = 0x44; // float
-    pub const m_flRadius: usize = 0x48; // float
-    pub const m_nSurfaceProp: usize = 0x4C; // CUtlStringToken
-    pub const m_nEffectIndex: usize = 0x50; // CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>
-    pub const m_nDamageType: usize = 0x58; // uint32_t
-    pub const m_nPenetrate: usize = 0x5C; // uint8_t
-    pub const m_nMaterial: usize = 0x5E; // uint16_t
-    pub const m_nHitBox: usize = 0x60; // uint16_t
-    pub const m_nColor: usize = 0x62; // uint8_t
-    pub const m_fFlags: usize = 0x63; // uint8_t
-    pub const m_nAttachmentIndex: usize = 0x64; // AttachmentHandle_t
-    pub const m_nAttachmentName: usize = 0x68; // CUtlStringToken
-    pub const m_iEffectName: usize = 0x6C; // uint16_t
-    pub const m_nExplosionType: usize = 0x6E; // uint8_t
-}
-
-pub mod CEntityComponent {
-}
-
-pub mod CEntityIdentity {
-    pub const m_nameStringableIndex: usize = 0x14; // int32_t
-    pub const m_name: usize = 0x18; // CUtlSymbolLarge
-    pub const m_designerName: usize = 0x20; // CUtlSymbolLarge
-    pub const m_flags: usize = 0x30; // uint32_t
-    pub const m_worldGroupId: usize = 0x38; // WorldGroupId_t
-    pub const m_fDataObjectTypes: usize = 0x3C; // uint32_t
-    pub const m_PathIndex: usize = 0x40; // ChangeAccessorFieldPathIndex_t
-    pub const m_pPrev: usize = 0x58; // CEntityIdentity*
-    pub const m_pNext: usize = 0x60; // CEntityIdentity*
-    pub const m_pPrevByClass: usize = 0x68; // CEntityIdentity*
-    pub const m_pNextByClass: usize = 0x70; // CEntityIdentity*
-}
-
-pub mod CEntityInstance {
-    pub const m_iszPrivateVScripts: usize = 0x8; // CUtlSymbolLarge
-    pub const m_pEntity: usize = 0x10; // CEntityIdentity*
-    pub const m_CScriptComponent: usize = 0x28; // CScriptComponent*
-}
-
-pub mod CFireOverlay { // CGlowOverlay
-    pub const m_pOwner: usize = 0xD0; // C_FireSmoke*
-    pub const m_vBaseColors: usize = 0xD8; // Vector[4]
-    pub const m_flScale: usize = 0x108; // float
-    pub const m_nGUID: usize = 0x10C; // int32_t
-}
-
-pub mod CFlashlightEffect {
-    pub const m_bIsOn: usize = 0x10; // bool
-    pub const m_bMuzzleFlashEnabled: usize = 0x20; // bool
-    pub const m_flMuzzleFlashBrightness: usize = 0x24; // float
-    pub const m_quatMuzzleFlashOrientation: usize = 0x30; // Quaternion
-    pub const m_vecMuzzleFlashOrigin: usize = 0x40; // Vector
-    pub const m_flFov: usize = 0x4C; // float
-    pub const m_flFarZ: usize = 0x50; // float
-    pub const m_flLinearAtten: usize = 0x54; // float
-    pub const m_bCastsShadows: usize = 0x58; // bool
-    pub const m_flCurrentPullBackDist: usize = 0x5C; // float
-    pub const m_FlashlightTexture: usize = 0x60; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_MuzzleFlashTexture: usize = 0x68; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_textureName: usize = 0x70; // char[64]
-}
-
-pub mod CFuncWater { // C_BaseModelEntity
-    pub const m_BuoyancyHelper: usize = 0xCC0; // CBuoyancyHelper
-}
-
-pub mod CGameSceneNode {
-    pub const m_nodeToWorld: usize = 0x10; // CTransform
-    pub const m_pOwner: usize = 0x30; // CEntityInstance*
-    pub const m_pParent: usize = 0x38; // CGameSceneNode*
-    pub const m_pChild: usize = 0x40; // CGameSceneNode*
-    pub const m_pNextSibling: usize = 0x48; // CGameSceneNode*
-    pub const m_hParent: usize = 0x70; // CGameSceneNodeHandle
-    pub const m_vecOrigin: usize = 0x80; // CNetworkOriginCellCoordQuantizedVector
-    pub const m_angRotation: usize = 0xB8; // QAngle
-    pub const m_flScale: usize = 0xC4; // float
-    pub const m_vecAbsOrigin: usize = 0xC8; // Vector
-    pub const m_angAbsRotation: usize = 0xD4; // QAngle
-    pub const m_flAbsScale: usize = 0xE0; // float
-    pub const m_nParentAttachmentOrBone: usize = 0xE4; // int16_t
-    pub const m_bDebugAbsOriginChanges: usize = 0xE6; // bool
-    pub const m_bDormant: usize = 0xE7; // bool
-    pub const m_bForceParentToBeNetworked: usize = 0xE8; // bool
-    pub const m_bDirtyHierarchy: usize = 0x0; // bitfield:1
-    pub const m_bDirtyBoneMergeInfo: usize = 0x0; // bitfield:1
-    pub const m_bNetworkedPositionChanged: usize = 0x0; // bitfield:1
-    pub const m_bNetworkedAnglesChanged: usize = 0x0; // bitfield:1
-    pub const m_bNetworkedScaleChanged: usize = 0x0; // bitfield:1
-    pub const m_bWillBeCallingPostDataUpdate: usize = 0x0; // bitfield:1
-    pub const m_bNotifyBoneTransformsChanged: usize = 0x0; // bitfield:1
-    pub const m_bBoneMergeFlex: usize = 0x0; // bitfield:1
-    pub const m_nLatchAbsOrigin: usize = 0x0; // bitfield:2
-    pub const m_bDirtyBoneMergeBoneToRoot: usize = 0x0; // bitfield:1
-    pub const m_nHierarchicalDepth: usize = 0xEB; // uint8_t
-    pub const m_nHierarchyType: usize = 0xEC; // uint8_t
-    pub const m_nDoNotSetAnimTimeInInvalidatePhysicsCount: usize = 0xED; // uint8_t
-    pub const m_name: usize = 0xF0; // CUtlStringToken
-    pub const m_hierarchyAttachName: usize = 0x130; // CUtlStringToken
-    pub const m_flZOffset: usize = 0x134; // float
-    pub const m_vRenderOrigin: usize = 0x138; // Vector
-}
-
-pub mod CGameSceneNodeHandle {
-    pub const m_hOwner: usize = 0x8; // CEntityHandle
-    pub const m_name: usize = 0xC; // CUtlStringToken
-}
-
-pub mod CGlobalLightBase {
-    pub const m_bSpotLight: usize = 0x10; // bool
-    pub const m_SpotLightOrigin: usize = 0x14; // Vector
-    pub const m_SpotLightAngles: usize = 0x20; // QAngle
-    pub const m_ShadowDirection: usize = 0x2C; // Vector
-    pub const m_AmbientDirection: usize = 0x38; // Vector
-    pub const m_SpecularDirection: usize = 0x44; // Vector
-    pub const m_InspectorSpecularDirection: usize = 0x50; // Vector
-    pub const m_flSpecularPower: usize = 0x5C; // float
-    pub const m_flSpecularIndependence: usize = 0x60; // float
-    pub const m_SpecularColor: usize = 0x64; // Color
-    pub const m_bStartDisabled: usize = 0x68; // bool
-    pub const m_bEnabled: usize = 0x69; // bool
-    pub const m_LightColor: usize = 0x6A; // Color
-    pub const m_AmbientColor1: usize = 0x6E; // Color
-    pub const m_AmbientColor2: usize = 0x72; // Color
-    pub const m_AmbientColor3: usize = 0x76; // Color
-    pub const m_flSunDistance: usize = 0x7C; // float
-    pub const m_flFOV: usize = 0x80; // float
-    pub const m_flNearZ: usize = 0x84; // float
-    pub const m_flFarZ: usize = 0x88; // float
-    pub const m_bEnableShadows: usize = 0x8C; // bool
-    pub const m_bOldEnableShadows: usize = 0x8D; // bool
-    pub const m_bBackgroundClearNotRequired: usize = 0x8E; // bool
-    pub const m_flCloudScale: usize = 0x90; // float
-    pub const m_flCloud1Speed: usize = 0x94; // float
-    pub const m_flCloud1Direction: usize = 0x98; // float
-    pub const m_flCloud2Speed: usize = 0x9C; // float
-    pub const m_flCloud2Direction: usize = 0xA0; // float
-    pub const m_flAmbientScale1: usize = 0xB0; // float
-    pub const m_flAmbientScale2: usize = 0xB4; // float
-    pub const m_flGroundScale: usize = 0xB8; // float
-    pub const m_flLightScale: usize = 0xBC; // float
-    pub const m_flFoWDarkness: usize = 0xC0; // float
-    pub const m_bEnableSeparateSkyboxFog: usize = 0xC4; // bool
-    pub const m_vFowColor: usize = 0xC8; // Vector
-    pub const m_ViewOrigin: usize = 0xD4; // Vector
-    pub const m_ViewAngles: usize = 0xE0; // QAngle
-    pub const m_flViewFoV: usize = 0xEC; // float
-    pub const m_WorldPoints: usize = 0xF0; // Vector[8]
-    pub const m_vFogOffsetLayer0: usize = 0x4A8; // Vector2D
-    pub const m_vFogOffsetLayer1: usize = 0x4B0; // Vector2D
-    pub const m_hEnvWind: usize = 0x4B8; // CHandle<C_BaseEntity>
-    pub const m_hEnvSky: usize = 0x4BC; // CHandle<C_BaseEntity>
-}
-
-pub mod CGlowOverlay {
-    pub const m_vPos: usize = 0x8; // Vector
-    pub const m_bDirectional: usize = 0x14; // bool
-    pub const m_vDirection: usize = 0x18; // Vector
-    pub const m_bInSky: usize = 0x24; // bool
-    pub const m_skyObstructionScale: usize = 0x28; // float
-    pub const m_Sprites: usize = 0x30; // CGlowSprite[4]
-    pub const m_nSprites: usize = 0xB0; // int32_t
-    pub const m_flProxyRadius: usize = 0xB4; // float
-    pub const m_flHDRColorScale: usize = 0xB8; // float
-    pub const m_flGlowObstructionScale: usize = 0xBC; // float
-    pub const m_bCacheGlowObstruction: usize = 0xC0; // bool
-    pub const m_bCacheSkyObstruction: usize = 0xC1; // bool
-    pub const m_bActivated: usize = 0xC2; // int16_t
-    pub const m_ListIndex: usize = 0xC4; // uint16_t
-    pub const m_queryHandle: usize = 0xC8; // int32_t
-}
-
-pub mod CGlowProperty {
-    pub const m_fGlowColor: usize = 0x8; // Vector
-    pub const m_iGlowType: usize = 0x30; // int32_t
-    pub const m_iGlowTeam: usize = 0x34; // int32_t
-    pub const m_nGlowRange: usize = 0x38; // int32_t
-    pub const m_nGlowRangeMin: usize = 0x3C; // int32_t
-    pub const m_glowColorOverride: usize = 0x40; // Color
-    pub const m_bFlashing: usize = 0x44; // bool
-    pub const m_flGlowTime: usize = 0x48; // float
-    pub const m_flGlowStartTime: usize = 0x4C; // float
-    pub const m_bEligibleForScreenHighlight: usize = 0x50; // bool
-    pub const m_bGlowing: usize = 0x51; // bool
-}
-
-pub mod CGlowSprite {
-    pub const m_vColor: usize = 0x0; // Vector
-    pub const m_flHorzSize: usize = 0xC; // float
-    pub const m_flVertSize: usize = 0x10; // float
-    pub const m_hMaterial: usize = 0x18; // CStrongHandle<InfoForResourceTypeIMaterial2>
-}
-
-pub mod CGrenadeTracer { // C_BaseModelEntity
-    pub const m_flTracerDuration: usize = 0xCE0; // float
-    pub const m_nType: usize = 0xCE4; // GrenadeType_t
-}
-
-pub mod CHitboxComponent { // CEntityComponent
-    pub const m_bvDisabledHitGroups: usize = 0x24; // uint32_t[1]
-}
-
-pub mod CHostageRescueZone { // CHostageRescueZoneShim
-}
-
-pub mod CHostageRescueZoneShim { // C_BaseTrigger
-}
-
-pub mod CInfoDynamicShadowHint { // C_PointEntity
-    pub const m_bDisabled: usize = 0x540; // bool
-    pub const m_flRange: usize = 0x544; // float
-    pub const m_nImportance: usize = 0x548; // int32_t
-    pub const m_nLightChoice: usize = 0x54C; // int32_t
-    pub const m_hLight: usize = 0x550; // CHandle<C_BaseEntity>
-}
-
-pub mod CInfoDynamicShadowHintBox { // CInfoDynamicShadowHint
-    pub const m_vBoxMins: usize = 0x558; // Vector
-    pub const m_vBoxMaxs: usize = 0x564; // Vector
-}
-
-pub mod CInfoOffscreenPanoramaTexture { // C_PointEntity
-    pub const m_bDisabled: usize = 0x540; // bool
-    pub const m_nResolutionX: usize = 0x544; // int32_t
-    pub const m_nResolutionY: usize = 0x548; // int32_t
-    pub const m_szLayoutFileName: usize = 0x550; // CUtlSymbolLarge
-    pub const m_RenderAttrName: usize = 0x558; // CUtlSymbolLarge
-    pub const m_TargetEntities: usize = 0x560; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
-    pub const m_nTargetChangeCount: usize = 0x578; // int32_t
-    pub const m_vecCSSClasses: usize = 0x580; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
-    pub const m_bCheckCSSClasses: usize = 0x6F8; // bool
-}
-
-pub mod CInfoParticleTarget { // C_PointEntity
-}
-
-pub mod CInfoTarget { // C_PointEntity
-}
-
-pub mod CInfoWorldLayer { // C_BaseEntity
-    pub const m_pOutputOnEntitiesSpawned: usize = 0x540; // CEntityIOOutput
-    pub const m_worldName: usize = 0x568; // CUtlSymbolLarge
-    pub const m_layerName: usize = 0x570; // CUtlSymbolLarge
-    pub const m_bWorldLayerVisible: usize = 0x578; // bool
-    pub const m_bEntitiesSpawned: usize = 0x579; // bool
-    pub const m_bCreateAsChildSpawnGroup: usize = 0x57A; // bool
-    pub const m_hLayerSpawnGroup: usize = 0x57C; // uint32_t
-    pub const m_bWorldLayerActuallyVisible: usize = 0x580; // bool
-}
-
-pub mod CInterpolatedValue {
-    pub const m_flStartTime: usize = 0x0; // float
-    pub const m_flEndTime: usize = 0x4; // float
-    pub const m_flStartValue: usize = 0x8; // float
-    pub const m_flEndValue: usize = 0xC; // float
-    pub const m_nInterpType: usize = 0x10; // int32_t
-}
-
-pub mod CLightComponent { // CEntityComponent
-    pub const __m_pChainEntity: usize = 0x48; // CNetworkVarChainer
-    pub const m_Color: usize = 0x85; // Color
-    pub const m_SecondaryColor: usize = 0x89; // Color
-    pub const m_flBrightness: usize = 0x90; // float
-    pub const m_flBrightnessScale: usize = 0x94; // float
-    pub const m_flBrightnessMult: usize = 0x98; // float
-    pub const m_flRange: usize = 0x9C; // float
-    pub const m_flFalloff: usize = 0xA0; // float
-    pub const m_flAttenuation0: usize = 0xA4; // float
-    pub const m_flAttenuation1: usize = 0xA8; // float
-    pub const m_flAttenuation2: usize = 0xAC; // float
-    pub const m_flTheta: usize = 0xB0; // float
-    pub const m_flPhi: usize = 0xB4; // float
-    pub const m_hLightCookie: usize = 0xB8; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_nCascades: usize = 0xC0; // int32_t
-    pub const m_nCastShadows: usize = 0xC4; // int32_t
-    pub const m_nShadowWidth: usize = 0xC8; // int32_t
-    pub const m_nShadowHeight: usize = 0xCC; // int32_t
-    pub const m_bRenderDiffuse: usize = 0xD0; // bool
-    pub const m_nRenderSpecular: usize = 0xD4; // int32_t
-    pub const m_bRenderTransmissive: usize = 0xD8; // bool
-    pub const m_flOrthoLightWidth: usize = 0xDC; // float
-    pub const m_flOrthoLightHeight: usize = 0xE0; // float
-    pub const m_nStyle: usize = 0xE4; // int32_t
-    pub const m_Pattern: usize = 0xE8; // CUtlString
-    pub const m_nCascadeRenderStaticObjects: usize = 0xF0; // int32_t
-    pub const m_flShadowCascadeCrossFade: usize = 0xF4; // float
-    pub const m_flShadowCascadeDistanceFade: usize = 0xF8; // float
-    pub const m_flShadowCascadeDistance0: usize = 0xFC; // float
-    pub const m_flShadowCascadeDistance1: usize = 0x100; // float
-    pub const m_flShadowCascadeDistance2: usize = 0x104; // float
-    pub const m_flShadowCascadeDistance3: usize = 0x108; // float
-    pub const m_nShadowCascadeResolution0: usize = 0x10C; // int32_t
-    pub const m_nShadowCascadeResolution1: usize = 0x110; // int32_t
-    pub const m_nShadowCascadeResolution2: usize = 0x114; // int32_t
-    pub const m_nShadowCascadeResolution3: usize = 0x118; // int32_t
-    pub const m_bUsesBakedShadowing: usize = 0x11C; // bool
-    pub const m_nShadowPriority: usize = 0x120; // int32_t
-    pub const m_nBakedShadowIndex: usize = 0x124; // int32_t
-    pub const m_bRenderToCubemaps: usize = 0x128; // bool
-    pub const m_nDirectLight: usize = 0x12C; // int32_t
-    pub const m_nIndirectLight: usize = 0x130; // int32_t
-    pub const m_flFadeMinDist: usize = 0x134; // float
-    pub const m_flFadeMaxDist: usize = 0x138; // float
-    pub const m_flShadowFadeMinDist: usize = 0x13C; // float
-    pub const m_flShadowFadeMaxDist: usize = 0x140; // float
-    pub const m_bEnabled: usize = 0x144; // bool
-    pub const m_bFlicker: usize = 0x145; // bool
-    pub const m_bPrecomputedFieldsValid: usize = 0x146; // bool
-    pub const m_vPrecomputedBoundsMins: usize = 0x148; // Vector
-    pub const m_vPrecomputedBoundsMaxs: usize = 0x154; // Vector
-    pub const m_vPrecomputedOBBOrigin: usize = 0x160; // Vector
-    pub const m_vPrecomputedOBBAngles: usize = 0x16C; // QAngle
-    pub const m_vPrecomputedOBBExtent: usize = 0x178; // Vector
-    pub const m_flPrecomputedMaxRange: usize = 0x184; // float
-    pub const m_nFogLightingMode: usize = 0x188; // int32_t
-    pub const m_flFogContributionStength: usize = 0x18C; // float
-    pub const m_flNearClipPlane: usize = 0x190; // float
-    pub const m_SkyColor: usize = 0x194; // Color
-    pub const m_flSkyIntensity: usize = 0x198; // float
-    pub const m_SkyAmbientBounce: usize = 0x19C; // Color
-    pub const m_bUseSecondaryColor: usize = 0x1A0; // bool
-    pub const m_bMixedShadows: usize = 0x1A1; // bool
-    pub const m_flLightStyleStartTime: usize = 0x1A4; // GameTime_t
-    pub const m_flCapsuleLength: usize = 0x1A8; // float
-    pub const m_flMinRoughness: usize = 0x1AC; // float
-}
-
-pub mod CLogicRelay { // CLogicalEntity
-    pub const m_OnTrigger: usize = 0x540; // CEntityIOOutput
-    pub const m_OnSpawn: usize = 0x568; // CEntityIOOutput
-    pub const m_bDisabled: usize = 0x590; // bool
-    pub const m_bWaitForRefire: usize = 0x591; // bool
-    pub const m_bTriggerOnce: usize = 0x592; // bool
-    pub const m_bFastRetrigger: usize = 0x593; // bool
-    pub const m_bPassthoughCaller: usize = 0x594; // bool
-}
-
-pub mod CLogicalEntity { // C_BaseEntity
-}
-
-pub mod CModelState {
-    pub const m_hModel: usize = 0xA0; // CStrongHandle<InfoForResourceTypeCModel>
-    pub const m_ModelName: usize = 0xA8; // CUtlSymbolLarge
-    pub const m_bClientClothCreationSuppressed: usize = 0xE8; // bool
-    pub const m_MeshGroupMask: usize = 0x180; // uint64_t
-    pub const m_nIdealMotionType: usize = 0x222; // int8_t
-    pub const m_nForceLOD: usize = 0x223; // int8_t
-    pub const m_nClothUpdateFlags: usize = 0x224; // int8_t
-}
-
-pub mod CNetworkedSequenceOperation {
-    pub const m_hSequence: usize = 0x8; // HSequence
-    pub const m_flPrevCycle: usize = 0xC; // float
-    pub const m_flCycle: usize = 0x10; // float
-    pub const m_flWeight: usize = 0x14; // CNetworkedQuantizedFloat
-    pub const m_bSequenceChangeNetworked: usize = 0x1C; // bool
-    pub const m_bDiscontinuity: usize = 0x1D; // bool
-    pub const m_flPrevCycleFromDiscontinuity: usize = 0x20; // float
-    pub const m_flPrevCycleForAnimEventDetection: usize = 0x24; // float
-}
-
-pub mod CPlayerSprayDecalRenderHelper {
-}
-
-pub mod CPlayer_AutoaimServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_CameraServices { // CPlayerPawnComponent
-    pub const m_vecCsViewPunchAngle: usize = 0x40; // QAngle
-    pub const m_nCsViewPunchAngleTick: usize = 0x4C; // GameTick_t
-    pub const m_flCsViewPunchAngleTickRatio: usize = 0x50; // float
-    pub const m_PlayerFog: usize = 0x58; // C_fogplayerparams_t
-    pub const m_hColorCorrectionCtrl: usize = 0x98; // CHandle<C_ColorCorrection>
-    pub const m_hViewEntity: usize = 0x9C; // CHandle<C_BaseEntity>
-    pub const m_hTonemapController: usize = 0xA0; // CHandle<C_TonemapController2>
-    pub const m_audio: usize = 0xA8; // audioparams_t
-    pub const m_PostProcessingVolumes: usize = 0x120; // C_NetworkUtlVectorBase<CHandle<C_PostProcessingVolume>>
-    pub const m_flOldPlayerZ: usize = 0x138; // float
-    pub const m_flOldPlayerViewOffsetZ: usize = 0x13C; // float
-    pub const m_CurrentFog: usize = 0x140; // fogparams_t
-    pub const m_hOldFogController: usize = 0x1A8; // CHandle<C_FogController>
-    pub const m_bOverrideFogColor: usize = 0x1AC; // bool[5]
-    pub const m_OverrideFogColor: usize = 0x1B1; // Color[5]
-    pub const m_bOverrideFogStartEnd: usize = 0x1C5; // bool[5]
-    pub const m_fOverrideFogStart: usize = 0x1CC; // float[5]
-    pub const m_fOverrideFogEnd: usize = 0x1E0; // float[5]
-    pub const m_hActivePostProcessingVolume: usize = 0x1F4; // CHandle<C_PostProcessingVolume>
-    pub const m_angDemoViewAngles: usize = 0x1F8; // QAngle
-}
-
-pub mod CPlayer_FlashlightServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_ItemServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_MovementServices { // CPlayerPawnComponent
-    pub const m_nImpulse: usize = 0x40; // int32_t
-    pub const m_nButtons: usize = 0x48; // CInButtonState
-    pub const m_nQueuedButtonDownMask: usize = 0x68; // uint64_t
-    pub const m_nQueuedButtonChangeMask: usize = 0x70; // uint64_t
-    pub const m_nButtonDoublePressed: usize = 0x78; // uint64_t
-    pub const m_pButtonPressedCmdNumber: usize = 0x80; // uint32_t[64]
-    pub const m_nLastCommandNumberProcessed: usize = 0x180; // uint32_t
-    pub const m_nToggleButtonDownMask: usize = 0x188; // uint64_t
-    pub const m_flMaxspeed: usize = 0x190; // float
-    pub const m_arrForceSubtickMoveWhen: usize = 0x194; // float[4]
-    pub const m_flForwardMove: usize = 0x1A4; // float
-    pub const m_flLeftMove: usize = 0x1A8; // float
-    pub const m_flUpMove: usize = 0x1AC; // float
-    pub const m_vecLastMovementImpulses: usize = 0x1B0; // Vector
-    pub const m_vecOldViewAngles: usize = 0x1BC; // QAngle
-}
-
-pub mod CPlayer_MovementServices_Humanoid { // CPlayer_MovementServices
-    pub const m_flStepSoundTime: usize = 0x1D0; // float
-    pub const m_flFallVelocity: usize = 0x1D4; // float
-    pub const m_bInCrouch: usize = 0x1D8; // bool
-    pub const m_nCrouchState: usize = 0x1DC; // uint32_t
-    pub const m_flCrouchTransitionStartTime: usize = 0x1E0; // GameTime_t
-    pub const m_bDucked: usize = 0x1E4; // bool
-    pub const m_bDucking: usize = 0x1E5; // bool
-    pub const m_bInDuckJump: usize = 0x1E6; // bool
-    pub const m_groundNormal: usize = 0x1E8; // Vector
-    pub const m_flSurfaceFriction: usize = 0x1F4; // float
-    pub const m_surfaceProps: usize = 0x1F8; // CUtlStringToken
-    pub const m_nStepside: usize = 0x208; // int32_t
-}
-
-pub mod CPlayer_ObserverServices { // CPlayerPawnComponent
-    pub const m_iObserverMode: usize = 0x40; // uint8_t
-    pub const m_hObserverTarget: usize = 0x44; // CHandle<C_BaseEntity>
-    pub const m_iObserverLastMode: usize = 0x48; // ObserverMode_t
-    pub const m_bForcedObserverMode: usize = 0x4C; // bool
-    pub const m_flObserverChaseDistance: usize = 0x50; // float
-    pub const m_flObserverChaseDistanceCalcTime: usize = 0x54; // GameTime_t
-}
-
-pub mod CPlayer_UseServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_ViewModelServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_WaterServices { // CPlayerPawnComponent
-}
-
-pub mod CPlayer_WeaponServices { // CPlayerPawnComponent
-    pub const m_bAllowSwitchToNoWeapon: usize = 0x40; // bool
-    pub const m_hMyWeapons: usize = 0x48; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerWeapon>>
-    pub const m_hActiveWeapon: usize = 0x60; // CHandle<C_BasePlayerWeapon>
-    pub const m_hLastWeapon: usize = 0x64; // CHandle<C_BasePlayerWeapon>
-    pub const m_iAmmo: usize = 0x68; // uint16_t[32]
-}
-
-pub mod CPointOffScreenIndicatorUi { // C_PointClientUIWorldPanel
-    pub const m_bBeenEnabled: usize = 0xF20; // bool
-    pub const m_bHide: usize = 0xF21; // bool
-    pub const m_flSeenTargetTime: usize = 0xF24; // float
-    pub const m_pTargetPanel: usize = 0xF28; // C_PointClientUIWorldPanel*
-}
-
-pub mod CPointTemplate { // CLogicalEntity
-    pub const m_iszWorldName: usize = 0x540; // CUtlSymbolLarge
-    pub const m_iszSource2EntityLumpName: usize = 0x548; // CUtlSymbolLarge
-    pub const m_iszEntityFilterName: usize = 0x550; // CUtlSymbolLarge
-    pub const m_flTimeoutInterval: usize = 0x558; // float
-    pub const m_bAsynchronouslySpawnEntities: usize = 0x55C; // bool
-    pub const m_pOutputOnSpawned: usize = 0x560; // CEntityIOOutput
-    pub const m_clientOnlyEntityBehavior: usize = 0x588; // PointTemplateClientOnlyEntityBehavior_t
-    pub const m_ownerSpawnGroupType: usize = 0x58C; // PointTemplateOwnerSpawnGroupType_t
-    pub const m_createdSpawnGroupHandles: usize = 0x590; // CUtlVector<uint32_t>
-    pub const m_SpawnedEntityHandles: usize = 0x5A8; // CUtlVector<CEntityHandle>
-    pub const m_ScriptSpawnCallback: usize = 0x5C0; // HSCRIPT
-    pub const m_ScriptCallbackScope: usize = 0x5C8; // HSCRIPT
-}
-
-pub mod CPrecipitationVData { // CEntitySubclassVDataBase
-    pub const m_szParticlePrecipitationEffect: usize = 0x28; // CResourceNameTyped<CWeakHandle<InfoForResourceTypeIParticleSystemDefinition>>
-    pub const m_flInnerDistance: usize = 0x108; // float
-    pub const m_nAttachType: usize = 0x10C; // ParticleAttachment_t
-    pub const m_bBatchSameVolumeType: usize = 0x110; // bool
-    pub const m_nRTEnvCP: usize = 0x114; // int32_t
-    pub const m_nRTEnvCPComponent: usize = 0x118; // int32_t
-    pub const m_szModifier: usize = 0x120; // CUtlString
-}
-
-pub mod CProjectedTextureBase {
-    pub const m_hTargetEntity: usize = 0xC; // CHandle<C_BaseEntity>
-    pub const m_bState: usize = 0x10; // bool
-    pub const m_bAlwaysUpdate: usize = 0x11; // bool
-    pub const m_flLightFOV: usize = 0x14; // float
-    pub const m_bEnableShadows: usize = 0x18; // bool
-    pub const m_bSimpleProjection: usize = 0x19; // bool
-    pub const m_bLightOnlyTarget: usize = 0x1A; // bool
-    pub const m_bLightWorld: usize = 0x1B; // bool
-    pub const m_bCameraSpace: usize = 0x1C; // bool
-    pub const m_flBrightnessScale: usize = 0x20; // float
-    pub const m_LightColor: usize = 0x24; // Color
-    pub const m_flIntensity: usize = 0x28; // float
-    pub const m_flLinearAttenuation: usize = 0x2C; // float
-    pub const m_flQuadraticAttenuation: usize = 0x30; // float
-    pub const m_bVolumetric: usize = 0x34; // bool
-    pub const m_flVolumetricIntensity: usize = 0x38; // float
-    pub const m_flNoiseStrength: usize = 0x3C; // float
-    pub const m_flFlashlightTime: usize = 0x40; // float
-    pub const m_nNumPlanes: usize = 0x44; // uint32_t
-    pub const m_flPlaneOffset: usize = 0x48; // float
-    pub const m_flColorTransitionTime: usize = 0x4C; // float
-    pub const m_flAmbient: usize = 0x50; // float
-    pub const m_SpotlightTextureName: usize = 0x54; // char[512]
-    pub const m_nSpotlightTextureFrame: usize = 0x254; // int32_t
-    pub const m_nShadowQuality: usize = 0x258; // uint32_t
-    pub const m_flNearZ: usize = 0x25C; // float
-    pub const m_flFarZ: usize = 0x260; // float
-    pub const m_flProjectionSize: usize = 0x264; // float
-    pub const m_flRotation: usize = 0x268; // float
-    pub const m_bFlipHorizontal: usize = 0x26C; // bool
-}
-
-pub mod CRenderComponent { // CEntityComponent
-    pub const __m_pChainEntity: usize = 0x10; // CNetworkVarChainer
-    pub const m_bIsRenderingWithViewModels: usize = 0x50; // bool
-    pub const m_nSplitscreenFlags: usize = 0x54; // uint32_t
-    pub const m_bEnableRendering: usize = 0x60; // bool
-    pub const m_bInterpolationReadyToDraw: usize = 0xB0; // bool
-}
-
-pub mod CSMatchStats_t { // CSPerRoundStats_t
-    pub const m_iEnemy5Ks: usize = 0x68; // int32_t
-    pub const m_iEnemy4Ks: usize = 0x6C; // int32_t
-    pub const m_iEnemy3Ks: usize = 0x70; // int32_t
-}
-
-pub mod CSPerRoundStats_t {
-    pub const m_iKills: usize = 0x30; // int32_t
-    pub const m_iDeaths: usize = 0x34; // int32_t
-    pub const m_iAssists: usize = 0x38; // int32_t
-    pub const m_iDamage: usize = 0x3C; // int32_t
-    pub const m_iEquipmentValue: usize = 0x40; // int32_t
-    pub const m_iMoneySaved: usize = 0x44; // int32_t
-    pub const m_iKillReward: usize = 0x48; // int32_t
-    pub const m_iLiveTime: usize = 0x4C; // int32_t
-    pub const m_iHeadShotKills: usize = 0x50; // int32_t
-    pub const m_iObjective: usize = 0x54; // int32_t
-    pub const m_iCashEarned: usize = 0x58; // int32_t
-    pub const m_iUtilityDamage: usize = 0x5C; // int32_t
-    pub const m_iEnemiesFlashed: usize = 0x60; // int32_t
-}
-
-pub mod CScriptComponent { // CEntityComponent
-    pub const m_scriptClassName: usize = 0x30; // CUtlSymbolLarge
-}
-
-pub mod CServerOnlyModelEntity { // C_BaseModelEntity
-}
-
-pub mod CSkeletonInstance { // CGameSceneNode
-    pub const m_modelState: usize = 0x160; // CModelState
-    pub const m_bIsAnimationEnabled: usize = 0x390; // bool
-    pub const m_bUseParentRenderBounds: usize = 0x391; // bool
-    pub const m_bDisableSolidCollisionsForHierarchy: usize = 0x392; // bool
-    pub const m_bDirtyMotionType: usize = 0x0; // bitfield:1
-    pub const m_bIsGeneratingLatchedParentSpaceState: usize = 0x0; // bitfield:1
-    pub const m_materialGroup: usize = 0x394; // CUtlStringToken
-    pub const m_nHitboxSet: usize = 0x398; // uint8_t
-}
-
-pub mod CSkyboxReference { // C_BaseEntity
-    pub const m_worldGroupId: usize = 0x540; // WorldGroupId_t
-    pub const m_hSkyCamera: usize = 0x544; // CHandle<C_SkyCamera>
-}
-
-pub mod CTablet { // C_CSWeaponBase
-}
-
-pub mod CTimeline { // IntervalTimer
-    pub const m_flValues: usize = 0x10; // float[64]
-    pub const m_nValueCounts: usize = 0x110; // int32_t[64]
-    pub const m_nBucketCount: usize = 0x210; // int32_t
-    pub const m_flInterval: usize = 0x214; // float
-    pub const m_flFinalValue: usize = 0x218; // float
-    pub const m_nCompressionType: usize = 0x21C; // TimelineCompression_t
-    pub const m_bStopped: usize = 0x220; // bool
-}
-
-pub mod CTripWireFire { // C_BaseCSGrenade
-}
-
-pub mod CTripWireFireProjectile { // C_BaseGrenade
-}
-
-pub mod CWaterSplasher { // C_BaseModelEntity
-}
-
-pub mod CWeaponZoneRepulsor { // C_CSWeaponBaseGun
-}
-
-pub mod C_AK47 { // C_CSWeaponBaseGun
-}
-
-pub mod C_AttributeContainer { // CAttributeManager
-    pub const m_Item: usize = 0x50; // C_EconItemView
-    pub const m_iExternalItemProviderRegisteredToken: usize = 0x498; // int32_t
-    pub const m_ullRegisteredAsItemID: usize = 0x4A0; // uint64_t
-}
-
-pub mod C_BarnLight { // C_BaseModelEntity
-    pub const m_bEnabled: usize = 0xCC0; // bool
-    pub const m_nColorMode: usize = 0xCC4; // int32_t
-    pub const m_Color: usize = 0xCC8; // Color
-    pub const m_flColorTemperature: usize = 0xCCC; // float
-    pub const m_flBrightness: usize = 0xCD0; // float
-    pub const m_flBrightnessScale: usize = 0xCD4; // float
-    pub const m_nDirectLight: usize = 0xCD8; // int32_t
-    pub const m_nBakedShadowIndex: usize = 0xCDC; // int32_t
-    pub const m_nLuminaireShape: usize = 0xCE0; // int32_t
-    pub const m_flLuminaireSize: usize = 0xCE4; // float
-    pub const m_flLuminaireAnisotropy: usize = 0xCE8; // float
-    pub const m_LightStyleString: usize = 0xCF0; // CUtlString
-    pub const m_flLightStyleStartTime: usize = 0xCF8; // GameTime_t
-    pub const m_QueuedLightStyleStrings: usize = 0xD00; // C_NetworkUtlVectorBase<CUtlString>
-    pub const m_LightStyleEvents: usize = 0xD18; // C_NetworkUtlVectorBase<CUtlString>
-    pub const m_LightStyleTargets: usize = 0xD30; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
-    pub const m_StyleEvent: usize = 0xD48; // CEntityIOOutput[4]
-    pub const m_hLightCookie: usize = 0xDE8; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_flShape: usize = 0xDF0; // float
-    pub const m_flSoftX: usize = 0xDF4; // float
-    pub const m_flSoftY: usize = 0xDF8; // float
-    pub const m_flSkirt: usize = 0xDFC; // float
-    pub const m_flSkirtNear: usize = 0xE00; // float
-    pub const m_vSizeParams: usize = 0xE04; // Vector
-    pub const m_flRange: usize = 0xE10; // float
-    pub const m_vShear: usize = 0xE14; // Vector
-    pub const m_nBakeSpecularToCubemaps: usize = 0xE20; // int32_t
-    pub const m_vBakeSpecularToCubemapsSize: usize = 0xE24; // Vector
-    pub const m_nCastShadows: usize = 0xE30; // int32_t
-    pub const m_nShadowMapSize: usize = 0xE34; // int32_t
-    pub const m_nShadowPriority: usize = 0xE38; // int32_t
-    pub const m_bContactShadow: usize = 0xE3C; // bool
-    pub const m_nBounceLight: usize = 0xE40; // int32_t
-    pub const m_flBounceScale: usize = 0xE44; // float
-    pub const m_flMinRoughness: usize = 0xE48; // float
-    pub const m_vAlternateColor: usize = 0xE4C; // Vector
-    pub const m_fAlternateColorBrightness: usize = 0xE58; // float
-    pub const m_nFog: usize = 0xE5C; // int32_t
-    pub const m_flFogStrength: usize = 0xE60; // float
-    pub const m_nFogShadows: usize = 0xE64; // int32_t
-    pub const m_flFogScale: usize = 0xE68; // float
-    pub const m_flFadeSizeStart: usize = 0xE6C; // float
-    pub const m_flFadeSizeEnd: usize = 0xE70; // float
-    pub const m_flShadowFadeSizeStart: usize = 0xE74; // float
-    pub const m_flShadowFadeSizeEnd: usize = 0xE78; // float
-    pub const m_bPrecomputedFieldsValid: usize = 0xE7C; // bool
-    pub const m_vPrecomputedBoundsMins: usize = 0xE80; // Vector
-    pub const m_vPrecomputedBoundsMaxs: usize = 0xE8C; // Vector
-    pub const m_vPrecomputedOBBOrigin: usize = 0xE98; // Vector
-    pub const m_vPrecomputedOBBAngles: usize = 0xEA4; // QAngle
-    pub const m_vPrecomputedOBBExtent: usize = 0xEB0; // Vector
-}
-
-pub mod C_BaseButton { // C_BaseToggle
-    pub const m_glowEntity: usize = 0xCC0; // CHandle<C_BaseModelEntity>
-    pub const m_usable: usize = 0xCC4; // bool
-    pub const m_szDisplayText: usize = 0xCC8; // CUtlSymbolLarge
-}
-
-pub mod C_BaseCSGrenade { // C_CSWeaponBase
-    pub const m_bClientPredictDelete: usize = 0x1A10; // bool
-    pub const m_bRedraw: usize = 0x1A11; // bool
-    pub const m_bIsHeldByPlayer: usize = 0x1A12; // bool
-    pub const m_bPinPulled: usize = 0x1A13; // bool
-    pub const m_bJumpThrow: usize = 0x1A14; // bool
-    pub const m_bThrowAnimating: usize = 0x1A15; // bool
-    pub const m_fThrowTime: usize = 0x1A18; // GameTime_t
-    pub const m_flThrowStrength: usize = 0x1A1C; // float
-    pub const m_flThrowStrengthApproach: usize = 0x1A20; // float
-    pub const m_fDropTime: usize = 0x1A24; // GameTime_t
-    pub const m_bJustPulledPin: usize = 0x1A28; // bool
-    pub const m_nNextHoldTick: usize = 0x1A2C; // GameTick_t
-    pub const m_flNextHoldFrac: usize = 0x1A30; // float
-    pub const m_hSwitchToWeaponAfterThrow: usize = 0x1A34; // CHandle<C_CSWeaponBase>
-}
-
-pub mod C_BaseCSGrenadeProjectile { // C_BaseGrenade
-    pub const m_vInitialPosition: usize = 0x1068; // Vector
-    pub const m_vInitialVelocity: usize = 0x1074; // Vector
-    pub const m_nBounces: usize = 0x1080; // int32_t
-    pub const m_nExplodeEffectIndex: usize = 0x1088; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
-    pub const m_nExplodeEffectTickBegin: usize = 0x1090; // int32_t
-    pub const m_vecExplodeEffectOrigin: usize = 0x1094; // Vector
-    pub const m_flSpawnTime: usize = 0x10A0; // GameTime_t
-    pub const vecLastTrailLinePos: usize = 0x10A4; // Vector
-    pub const flNextTrailLineTime: usize = 0x10B0; // GameTime_t
-    pub const m_bExplodeEffectBegan: usize = 0x10B4; // bool
-    pub const m_bCanCreateGrenadeTrail: usize = 0x10B5; // bool
-    pub const m_nSnapshotTrajectoryEffectIndex: usize = 0x10B8; // ParticleIndex_t
-    pub const m_hSnapshotTrajectoryParticleSnapshot: usize = 0x10C0; // CStrongHandle<InfoForResourceTypeIParticleSnapshot>
-    pub const m_arrTrajectoryTrailPoints: usize = 0x10C8; // CUtlVector<Vector>
-    pub const m_arrTrajectoryTrailPointCreationTimes: usize = 0x10E0; // CUtlVector<float>
-    pub const m_flTrajectoryTrailEffectCreationTime: usize = 0x10F8; // float
-}
-
-pub mod C_BaseClientUIEntity { // C_BaseModelEntity
-    pub const m_bEnabled: usize = 0xCC8; // bool
-    pub const m_DialogXMLName: usize = 0xCD0; // CUtlSymbolLarge
-    pub const m_PanelClassName: usize = 0xCD8; // CUtlSymbolLarge
-    pub const m_PanelID: usize = 0xCE0; // CUtlSymbolLarge
-}
-
-pub mod C_BaseCombatCharacter { // C_BaseFlex
-    pub const m_hMyWearables: usize = 0x1018; // C_NetworkUtlVectorBase<CHandle<C_EconWearable>>
-    pub const m_bloodColor: usize = 0x1030; // int32_t
-    pub const m_leftFootAttachment: usize = 0x1034; // AttachmentHandle_t
-    pub const m_rightFootAttachment: usize = 0x1035; // AttachmentHandle_t
-    pub const m_nWaterWakeMode: usize = 0x1038; // C_BaseCombatCharacter::WaterWakeMode_t
-    pub const m_flWaterWorldZ: usize = 0x103C; // float
-    pub const m_flWaterNextTraceTime: usize = 0x1040; // float
-    pub const m_flFieldOfView: usize = 0x1044; // float
-}
-
-pub mod C_BaseDoor { // C_BaseToggle
-    pub const m_bIsUsable: usize = 0xCC0; // bool
-}
-
-pub mod C_BaseEntity { // CEntityInstance
-    pub const m_CBodyComponent: usize = 0x30; // CBodyComponent*
-    pub const m_NetworkTransmitComponent: usize = 0x38; // CNetworkTransmitComponent
-    pub const m_nLastThinkTick: usize = 0x308; // GameTick_t
-    pub const m_pGameSceneNode: usize = 0x310; // CGameSceneNode*
-    pub const m_pRenderComponent: usize = 0x318; // CRenderComponent*
-    pub const m_pCollision: usize = 0x320; // CCollisionProperty*
-    pub const m_iMaxHealth: usize = 0x328; // int32_t
-    pub const m_iHealth: usize = 0x32C; // int32_t
-    pub const m_lifeState: usize = 0x330; // uint8_t
-    pub const m_bTakesDamage: usize = 0x331; // bool
-    pub const m_nTakeDamageFlags: usize = 0x334; // TakeDamageFlags_t
-    pub const m_ubInterpolationFrame: usize = 0x338; // uint8_t
-    pub const m_hSceneObjectController: usize = 0x33C; // CHandle<C_BaseEntity>
-    pub const m_nNoInterpolationTick: usize = 0x340; // int32_t
-    pub const m_nVisibilityNoInterpolationTick: usize = 0x344; // int32_t
-    pub const m_flProxyRandomValue: usize = 0x348; // float
-    pub const m_iEFlags: usize = 0x34C; // int32_t
-    pub const m_nWaterType: usize = 0x350; // uint8_t
-    pub const m_bInterpolateEvenWithNoModel: usize = 0x351; // bool
-    pub const m_bPredictionEligible: usize = 0x352; // bool
-    pub const m_bApplyLayerMatchIDToModel: usize = 0x353; // bool
-    pub const m_tokLayerMatchID: usize = 0x354; // CUtlStringToken
-    pub const m_nSubclassID: usize = 0x358; // CUtlStringToken
-    pub const m_nSimulationTick: usize = 0x368; // int32_t
-    pub const m_iCurrentThinkContext: usize = 0x36C; // int32_t
-    pub const m_aThinkFunctions: usize = 0x370; // CUtlVector<thinkfunc_t>
-    pub const m_flAnimTime: usize = 0x388; // float
-    pub const m_flSimulationTime: usize = 0x38C; // float
-    pub const m_nSceneObjectOverrideFlags: usize = 0x390; // uint8_t
-    pub const m_bHasSuccessfullyInterpolated: usize = 0x391; // bool
-    pub const m_bHasAddedVarsToInterpolation: usize = 0x392; // bool
-    pub const m_bRenderEvenWhenNotSuccessfullyInterpolated: usize = 0x393; // bool
-    pub const m_nInterpolationLatchDirtyFlags: usize = 0x394; // int32_t[2]
-    pub const m_ListEntry: usize = 0x39C; // uint16_t[11]
-    pub const m_flCreateTime: usize = 0x3B4; // GameTime_t
-    pub const m_flSpeed: usize = 0x3B8; // float
-    pub const m_EntClientFlags: usize = 0x3BC; // uint16_t
-    pub const m_bClientSideRagdoll: usize = 0x3BE; // bool
-    pub const m_iTeamNum: usize = 0x3BF; // uint8_t
-    pub const m_spawnflags: usize = 0x3C0; // uint32_t
-    pub const m_nNextThinkTick: usize = 0x3C4; // GameTick_t
-    pub const m_fFlags: usize = 0x3C8; // uint32_t
-    pub const m_vecAbsVelocity: usize = 0x3CC; // Vector
-    pub const m_vecVelocity: usize = 0x3D8; // CNetworkVelocityVector
-    pub const m_vecBaseVelocity: usize = 0x408; // Vector
-    pub const m_hEffectEntity: usize = 0x414; // CHandle<C_BaseEntity>
-    pub const m_hOwnerEntity: usize = 0x418; // CHandle<C_BaseEntity>
-    pub const m_MoveCollide: usize = 0x41C; // MoveCollide_t
-    pub const m_MoveType: usize = 0x41D; // MoveType_t
-    pub const m_flWaterLevel: usize = 0x420; // float
-    pub const m_fEffects: usize = 0x424; // uint32_t
-    pub const m_hGroundEntity: usize = 0x428; // CHandle<C_BaseEntity>
-    pub const m_flFriction: usize = 0x42C; // float
-    pub const m_flElasticity: usize = 0x430; // float
-    pub const m_flGravityScale: usize = 0x434; // float
-    pub const m_flTimeScale: usize = 0x438; // float
-    pub const m_bSimulatedEveryTick: usize = 0x43C; // bool
-    pub const m_bAnimatedEveryTick: usize = 0x43D; // bool
-    pub const m_flNavIgnoreUntilTime: usize = 0x440; // GameTime_t
-    pub const m_hThink: usize = 0x444; // uint16_t
-    pub const m_fBBoxVisFlags: usize = 0x450; // uint8_t
-    pub const m_bPredictable: usize = 0x451; // bool
-    pub const m_bRenderWithViewModels: usize = 0x452; // bool
-    pub const m_nSplitUserPlayerPredictionSlot: usize = 0x454; // CSplitScreenSlot
-    pub const m_nFirstPredictableCommand: usize = 0x458; // int32_t
-    pub const m_nLastPredictableCommand: usize = 0x45C; // int32_t
-    pub const m_hOldMoveParent: usize = 0x460; // CHandle<C_BaseEntity>
-    pub const m_Particles: usize = 0x468; // CParticleProperty
-    pub const m_vecPredictedScriptFloats: usize = 0x490; // CUtlVector<float>
-    pub const m_vecPredictedScriptFloatIDs: usize = 0x4A8; // CUtlVector<int32_t>
-    pub const m_nNextScriptVarRecordID: usize = 0x4D8; // int32_t
-    pub const m_vecAngVelocity: usize = 0x4E8; // QAngle
-    pub const m_DataChangeEventRef: usize = 0x4F4; // int32_t
-    pub const m_dependencies: usize = 0x4F8; // CUtlVector<CEntityHandle>
-    pub const m_nCreationTick: usize = 0x510; // int32_t
-    pub const m_bAnimTimeChanged: usize = 0x529; // bool
-    pub const m_bSimulationTimeChanged: usize = 0x52A; // bool
-    pub const m_sUniqueHammerID: usize = 0x538; // CUtlString
-}
-
-pub mod C_BaseFire { // C_BaseEntity
-    pub const m_flScale: usize = 0x540; // float
-    pub const m_flStartScale: usize = 0x544; // float
-    pub const m_flScaleTime: usize = 0x548; // float
-    pub const m_nFlags: usize = 0x54C; // uint32_t
-}
-
-pub mod C_BaseFlex { // CBaseAnimGraph
-    pub const m_flexWeight: usize = 0xE90; // C_NetworkUtlVectorBase<float>
-    pub const m_vLookTargetPosition: usize = 0xEA8; // Vector
-    pub const m_blinktoggle: usize = 0xEC0; // bool
-    pub const m_nLastFlexUpdateFrameCount: usize = 0xF20; // int32_t
-    pub const m_CachedViewTarget: usize = 0xF24; // Vector
-    pub const m_nNextSceneEventId: usize = 0xF30; // uint32_t
-    pub const m_iBlink: usize = 0xF34; // int32_t
-    pub const m_blinktime: usize = 0xF38; // float
-    pub const m_prevblinktoggle: usize = 0xF3C; // bool
-    pub const m_iJawOpen: usize = 0xF40; // int32_t
-    pub const m_flJawOpenAmount: usize = 0xF44; // float
-    pub const m_flBlinkAmount: usize = 0xF48; // float
-    pub const m_iMouthAttachment: usize = 0xF4C; // AttachmentHandle_t
-    pub const m_iEyeAttachment: usize = 0xF4D; // AttachmentHandle_t
-    pub const m_bResetFlexWeightsOnModelChange: usize = 0xF4E; // bool
-    pub const m_nEyeOcclusionRendererBone: usize = 0xF68; // int32_t
-    pub const m_mEyeOcclusionRendererCameraToBoneTransform: usize = 0xF6C; // matrix3x4_t
-    pub const m_vEyeOcclusionRendererHalfExtent: usize = 0xF9C; // Vector
-    pub const m_PhonemeClasses: usize = 0xFB8; // C_BaseFlex::Emphasized_Phoneme[3]
-}
-
-pub mod C_BaseFlex_Emphasized_Phoneme {
-    pub const m_sClassName: usize = 0x0; // CUtlString
-    pub const m_flAmount: usize = 0x18; // float
-    pub const m_bRequired: usize = 0x1C; // bool
-    pub const m_bBasechecked: usize = 0x1D; // bool
-    pub const m_bValid: usize = 0x1E; // bool
-}
-
-pub mod C_BaseGrenade { // C_BaseFlex
-    pub const m_bHasWarnedAI: usize = 0x1018; // bool
-    pub const m_bIsSmokeGrenade: usize = 0x1019; // bool
-    pub const m_bIsLive: usize = 0x101A; // bool
-    pub const m_DmgRadius: usize = 0x101C; // float
-    pub const m_flDetonateTime: usize = 0x1020; // GameTime_t
-    pub const m_flWarnAITime: usize = 0x1024; // float
-    pub const m_flDamage: usize = 0x1028; // float
-    pub const m_iszBounceSound: usize = 0x1030; // CUtlSymbolLarge
-    pub const m_ExplosionSound: usize = 0x1038; // CUtlString
-    pub const m_hThrower: usize = 0x1044; // CHandle<C_CSPlayerPawn>
-    pub const m_flNextAttack: usize = 0x105C; // GameTime_t
-    pub const m_hOriginalThrower: usize = 0x1060; // CHandle<C_CSPlayerPawn>
-}
-
-pub mod C_BaseModelEntity { // C_BaseEntity
-    pub const m_CRenderComponent: usize = 0xA10; // CRenderComponent*
-    pub const m_CHitboxComponent: usize = 0xA18; // CHitboxComponent
-    pub const m_bInitModelEffects: usize = 0xA60; // bool
-    pub const m_bIsStaticProp: usize = 0xA61; // bool
-    pub const m_nLastAddDecal: usize = 0xA64; // int32_t
-    pub const m_nDecalsAdded: usize = 0xA68; // int32_t
-    pub const m_iOldHealth: usize = 0xA6C; // int32_t
-    pub const m_nRenderMode: usize = 0xA70; // RenderMode_t
-    pub const m_nRenderFX: usize = 0xA71; // RenderFx_t
-    pub const m_bAllowFadeInView: usize = 0xA72; // bool
-    pub const m_clrRender: usize = 0xA73; // Color
-    pub const m_vecRenderAttributes: usize = 0xA78; // C_UtlVectorEmbeddedNetworkVar<EntityRenderAttribute_t>
-    pub const m_bRenderToCubemaps: usize = 0xAE0; // bool
-    pub const m_Collision: usize = 0xAE8; // CCollisionProperty
-    pub const m_Glow: usize = 0xB98; // CGlowProperty
-    pub const m_flGlowBackfaceMult: usize = 0xBF0; // float
-    pub const m_fadeMinDist: usize = 0xBF4; // float
-    pub const m_fadeMaxDist: usize = 0xBF8; // float
-    pub const m_flFadeScale: usize = 0xBFC; // float
-    pub const m_flShadowStrength: usize = 0xC00; // float
-    pub const m_nObjectCulling: usize = 0xC04; // uint8_t
-    pub const m_nAddDecal: usize = 0xC08; // int32_t
-    pub const m_vDecalPosition: usize = 0xC0C; // Vector
-    pub const m_vDecalForwardAxis: usize = 0xC18; // Vector
-    pub const m_flDecalHealBloodRate: usize = 0xC24; // float
-    pub const m_flDecalHealHeightRate: usize = 0xC28; // float
-    pub const m_ConfigEntitiesToPropagateMaterialDecalsTo: usize = 0xC30; // C_NetworkUtlVectorBase<CHandle<C_BaseModelEntity>>
-    pub const m_vecViewOffset: usize = 0xC48; // CNetworkViewOffsetVector
-    pub const m_pClientAlphaProperty: usize = 0xC78; // CClientAlphaProperty*
-    pub const m_ClientOverrideTint: usize = 0xC80; // Color
-    pub const m_bUseClientOverrideTint: usize = 0xC84; // bool
-}
-
-pub mod C_BasePlayerPawn { // C_BaseCombatCharacter
-    pub const m_pWeaponServices: usize = 0x10A8; // CPlayer_WeaponServices*
-    pub const m_pItemServices: usize = 0x10B0; // CPlayer_ItemServices*
-    pub const m_pAutoaimServices: usize = 0x10B8; // CPlayer_AutoaimServices*
-    pub const m_pObserverServices: usize = 0x10C0; // CPlayer_ObserverServices*
-    pub const m_pWaterServices: usize = 0x10C8; // CPlayer_WaterServices*
-    pub const m_pUseServices: usize = 0x10D0; // CPlayer_UseServices*
-    pub const m_pFlashlightServices: usize = 0x10D8; // CPlayer_FlashlightServices*
-    pub const m_pCameraServices: usize = 0x10E0; // CPlayer_CameraServices*
-    pub const m_pMovementServices: usize = 0x10E8; // CPlayer_MovementServices*
-    pub const m_ServerViewAngleChanges: usize = 0x10F8; // C_UtlVectorEmbeddedNetworkVar<ViewAngleServerChange_t>
-    pub const m_nHighestConsumedServerViewAngleChangeIndex: usize = 0x1148; // uint32_t
-    pub const v_angle: usize = 0x114C; // QAngle
-    pub const v_anglePrevious: usize = 0x1158; // QAngle
-    pub const m_iHideHUD: usize = 0x1164; // uint32_t
-    pub const m_skybox3d: usize = 0x1168; // sky3dparams_t
-    pub const m_flDeathTime: usize = 0x11F8; // GameTime_t
-    pub const m_vecPredictionError: usize = 0x11FC; // Vector
-    pub const m_flPredictionErrorTime: usize = 0x1208; // GameTime_t
-    pub const m_vecLastCameraSetupLocalOrigin: usize = 0x120C; // Vector
-    pub const m_flLastCameraSetupTime: usize = 0x1218; // GameTime_t
-    pub const m_flFOVSensitivityAdjust: usize = 0x121C; // float
-    pub const m_flMouseSensitivity: usize = 0x1220; // float
-    pub const m_vOldOrigin: usize = 0x1224; // Vector
-    pub const m_flOldSimulationTime: usize = 0x1230; // float
-    pub const m_nLastExecutedCommandNumber: usize = 0x1234; // int32_t
-    pub const m_nLastExecutedCommandTick: usize = 0x1238; // int32_t
-    pub const m_hController: usize = 0x123C; // CHandle<CBasePlayerController>
-    pub const m_bIsSwappingToPredictableController: usize = 0x1240; // bool
-}
-
-pub mod C_BasePlayerWeapon { // C_EconEntity
-    pub const m_nNextPrimaryAttackTick: usize = 0x1560; // GameTick_t
-    pub const m_flNextPrimaryAttackTickRatio: usize = 0x1564; // float
-    pub const m_nNextSecondaryAttackTick: usize = 0x1568; // GameTick_t
-    pub const m_flNextSecondaryAttackTickRatio: usize = 0x156C; // float
-    pub const m_iClip1: usize = 0x1570; // int32_t
-    pub const m_iClip2: usize = 0x1574; // int32_t
-    pub const m_pReserveAmmo: usize = 0x1578; // int32_t[2]
-}
-
-pub mod C_BasePropDoor { // C_DynamicProp
-    pub const m_eDoorState: usize = 0x10F8; // DoorState_t
-    pub const m_modelChanged: usize = 0x10FC; // bool
-    pub const m_bLocked: usize = 0x10FD; // bool
-    pub const m_closedPosition: usize = 0x1100; // Vector
-    pub const m_closedAngles: usize = 0x110C; // QAngle
-    pub const m_hMaster: usize = 0x1118; // CHandle<C_BasePropDoor>
-    pub const m_vWhereToSetLightingOrigin: usize = 0x111C; // Vector
-}
-
-pub mod C_BaseToggle { // C_BaseModelEntity
-}
-
-pub mod C_BaseTrigger { // C_BaseToggle
-    pub const m_bDisabled: usize = 0xCC0; // bool
-    pub const m_bClientSidePredicted: usize = 0xCC1; // bool
-}
-
-pub mod C_BaseViewModel { // CBaseAnimGraph
-    pub const m_vecLastFacing: usize = 0xE88; // Vector
-    pub const m_nViewModelIndex: usize = 0xE94; // uint32_t
-    pub const m_nAnimationParity: usize = 0xE98; // uint32_t
-    pub const m_flAnimationStartTime: usize = 0xE9C; // float
-    pub const m_hWeapon: usize = 0xEA0; // CHandle<C_BasePlayerWeapon>
-    pub const m_sVMName: usize = 0xEA8; // CUtlSymbolLarge
-    pub const m_sAnimationPrefix: usize = 0xEB0; // CUtlSymbolLarge
-    pub const m_hWeaponModel: usize = 0xEB8; // CHandle<C_ViewmodelWeapon>
-    pub const m_iCameraAttachment: usize = 0xEBC; // AttachmentHandle_t
-    pub const m_vecLastCameraAngles: usize = 0xEC0; // QAngle
-    pub const m_previousElapsedDuration: usize = 0xECC; // float
-    pub const m_previousCycle: usize = 0xED0; // float
-    pub const m_nOldAnimationParity: usize = 0xED4; // int32_t
-    pub const m_hOldLayerSequence: usize = 0xED8; // HSequence
-    pub const m_oldLayer: usize = 0xEDC; // int32_t
-    pub const m_oldLayerStartTime: usize = 0xEE0; // float
-    pub const m_hControlPanel: usize = 0xEE4; // CHandle<C_BaseEntity>
-}
-
-pub mod C_Beam { // C_BaseModelEntity
-    pub const m_flFrameRate: usize = 0xCC0; // float
-    pub const m_flHDRColorScale: usize = 0xCC4; // float
-    pub const m_flFireTime: usize = 0xCC8; // GameTime_t
-    pub const m_flDamage: usize = 0xCCC; // float
-    pub const m_nNumBeamEnts: usize = 0xCD0; // uint8_t
-    pub const m_queryHandleHalo: usize = 0xCD4; // int32_t
-    pub const m_hBaseMaterial: usize = 0xCF8; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_nHaloIndex: usize = 0xD00; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_nBeamType: usize = 0xD08; // BeamType_t
-    pub const m_nBeamFlags: usize = 0xD0C; // uint32_t
-    pub const m_hAttachEntity: usize = 0xD10; // CHandle<C_BaseEntity>[10]
-    pub const m_nAttachIndex: usize = 0xD38; // AttachmentHandle_t[10]
-    pub const m_fWidth: usize = 0xD44; // float
-    pub const m_fEndWidth: usize = 0xD48; // float
-    pub const m_fFadeLength: usize = 0xD4C; // float
-    pub const m_fHaloScale: usize = 0xD50; // float
-    pub const m_fAmplitude: usize = 0xD54; // float
-    pub const m_fStartFrame: usize = 0xD58; // float
-    pub const m_fSpeed: usize = 0xD5C; // float
-    pub const m_flFrame: usize = 0xD60; // float
-    pub const m_nClipStyle: usize = 0xD64; // BeamClipStyle_t
-    pub const m_bTurnedOff: usize = 0xD68; // bool
-    pub const m_vecEndPos: usize = 0xD6C; // Vector
-    pub const m_hEndEntity: usize = 0xD78; // CHandle<C_BaseEntity>
-}
-
-pub mod C_Breakable { // C_BaseModelEntity
-}
-
-pub mod C_BreakableProp { // CBaseProp
-    pub const m_OnBreak: usize = 0xEC8; // CEntityIOOutput
-    pub const m_OnHealthChanged: usize = 0xEF0; // CEntityOutputTemplate<float>
-    pub const m_OnTakeDamage: usize = 0xF18; // CEntityIOOutput
-    pub const m_impactEnergyScale: usize = 0xF40; // float
-    pub const m_iMinHealthDmg: usize = 0xF44; // int32_t
-    pub const m_flPressureDelay: usize = 0xF48; // float
-    pub const m_hBreaker: usize = 0xF4C; // CHandle<C_BaseEntity>
-    pub const m_PerformanceMode: usize = 0xF50; // PerformanceMode_t
-    pub const m_flDmgModBullet: usize = 0xF54; // float
-    pub const m_flDmgModClub: usize = 0xF58; // float
-    pub const m_flDmgModExplosive: usize = 0xF5C; // float
-    pub const m_flDmgModFire: usize = 0xF60; // float
-    pub const m_iszPhysicsDamageTableName: usize = 0xF68; // CUtlSymbolLarge
-    pub const m_iszBasePropData: usize = 0xF70; // CUtlSymbolLarge
-    pub const m_iInteractions: usize = 0xF78; // int32_t
-    pub const m_flPreventDamageBeforeTime: usize = 0xF7C; // GameTime_t
-    pub const m_bHasBreakPiecesOrCommands: usize = 0xF80; // bool
-    pub const m_explodeDamage: usize = 0xF84; // float
-    pub const m_explodeRadius: usize = 0xF88; // float
-    pub const m_explosionDelay: usize = 0xF90; // float
-    pub const m_explosionBuildupSound: usize = 0xF98; // CUtlSymbolLarge
-    pub const m_explosionCustomEffect: usize = 0xFA0; // CUtlSymbolLarge
-    pub const m_explosionCustomSound: usize = 0xFA8; // CUtlSymbolLarge
-    pub const m_explosionModifier: usize = 0xFB0; // CUtlSymbolLarge
-    pub const m_hPhysicsAttacker: usize = 0xFB8; // CHandle<C_BasePlayerPawn>
-    pub const m_flLastPhysicsInfluenceTime: usize = 0xFBC; // GameTime_t
-    pub const m_flDefaultFadeScale: usize = 0xFC0; // float
-    pub const m_hLastAttacker: usize = 0xFC4; // CHandle<C_BaseEntity>
-    pub const m_hFlareEnt: usize = 0xFC8; // CHandle<C_BaseEntity>
-    pub const m_noGhostCollision: usize = 0xFCC; // bool
-}
-
-pub mod C_BulletHitModel { // CBaseAnimGraph
-    pub const m_matLocal: usize = 0xE80; // matrix3x4_t
-    pub const m_iBoneIndex: usize = 0xEB0; // int32_t
-    pub const m_hPlayerParent: usize = 0xEB4; // CHandle<C_BaseEntity>
-    pub const m_bIsHit: usize = 0xEB8; // bool
-    pub const m_flTimeCreated: usize = 0xEBC; // float
-    pub const m_vecStartPos: usize = 0xEC0; // Vector
-}
-
-pub mod C_C4 { // C_CSWeaponBase
-    pub const m_szScreenText: usize = 0x1A10; // char[32]
-    pub const m_activeLightParticleIndex: usize = 0x1A30; // ParticleIndex_t
-    pub const m_eActiveLightEffect: usize = 0x1A34; // C4LightEffect_t
-    pub const m_bStartedArming: usize = 0x1A38; // bool
-    pub const m_fArmedTime: usize = 0x1A3C; // GameTime_t
-    pub const m_bBombPlacedAnimation: usize = 0x1A40; // bool
-    pub const m_bIsPlantingViaUse: usize = 0x1A41; // bool
-    pub const m_entitySpottedState: usize = 0x1A48; // EntitySpottedState_t
-    pub const m_nSpotRules: usize = 0x1A60; // int32_t
-    pub const m_bPlayedArmingBeeps: usize = 0x1A64; // bool[7]
-    pub const m_bBombPlanted: usize = 0x1A6B; // bool
-    pub const m_bDroppedFromDeath: usize = 0x1A6C; // bool
-}
-
-pub mod C_CSGOViewModel { // C_PredictedViewModel
-    pub const m_bShouldIgnoreOffsetAndAccuracy: usize = 0xF10; // bool
-    pub const m_nWeaponParity: usize = 0xF14; // uint32_t
-    pub const m_nOldWeaponParity: usize = 0xF18; // uint32_t
-    pub const m_nLastKnownAssociatedWeaponEntIndex: usize = 0xF1C; // CEntityIndex
-    pub const m_bNeedToQueueHighResComposite: usize = 0xF20; // bool
-    pub const m_vLoweredWeaponOffset: usize = 0xF64; // QAngle
-}
-
-pub mod C_CSGO_CounterTerroristTeamIntroCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGO_CounterTerroristWingmanIntroCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGO_EndOfMatchCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGO_EndOfMatchCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition
-}
-
-pub mod C_CSGO_EndOfMatchLineupEnd { // C_CSGO_EndOfMatchLineupEndpoint
-}
-
-pub mod C_CSGO_EndOfMatchLineupEndpoint { // C_BaseEntity
-}
-
-pub mod C_CSGO_EndOfMatchLineupStart { // C_CSGO_EndOfMatchLineupEndpoint
-}
-
-pub mod C_CSGO_MapPreviewCameraPath { // C_BaseEntity
-    pub const m_flZFar: usize = 0x540; // float
-    pub const m_flZNear: usize = 0x544; // float
-    pub const m_bLoop: usize = 0x548; // bool
-    pub const m_bVerticalFOV: usize = 0x549; // bool
-    pub const m_bConstantSpeed: usize = 0x54A; // bool
-    pub const m_flDuration: usize = 0x54C; // float
-    pub const m_flPathLength: usize = 0x590; // float
-    pub const m_flPathDuration: usize = 0x594; // float
-}
-
-pub mod C_CSGO_MapPreviewCameraPathNode { // C_BaseEntity
-    pub const m_szParentPathUniqueID: usize = 0x540; // CUtlSymbolLarge
-    pub const m_nPathIndex: usize = 0x548; // int32_t
-    pub const m_vInTangentLocal: usize = 0x54C; // Vector
-    pub const m_vOutTangentLocal: usize = 0x558; // Vector
-    pub const m_flFOV: usize = 0x564; // float
-    pub const m_flSpeed: usize = 0x568; // float
-    pub const m_flEaseIn: usize = 0x56C; // float
-    pub const m_flEaseOut: usize = 0x570; // float
-    pub const m_vInTangentWorld: usize = 0x574; // Vector
-    pub const m_vOutTangentWorld: usize = 0x580; // Vector
-}
-
-pub mod C_CSGO_PreviewModel { // C_BaseFlex
-    pub const m_animgraph: usize = 0x1018; // CUtlString
-    pub const m_animgraphCharacterModeString: usize = 0x1020; // CUtlString
-    pub const m_defaultAnim: usize = 0x1028; // CUtlString
-    pub const m_nDefaultAnimLoopMode: usize = 0x1030; // AnimLoopMode_t
-    pub const m_flInitialModelScale: usize = 0x1034; // float
-}
-
-pub mod C_CSGO_PreviewModelAlias_csgo_item_previewmodel { // C_CSGO_PreviewModel
-}
-
-pub mod C_CSGO_PreviewPlayer { // C_CSPlayerPawn
-    pub const m_animgraph: usize = 0x23B8; // CUtlString
-    pub const m_animgraphCharacterModeString: usize = 0x23C0; // CUtlString
-    pub const m_flInitialModelScale: usize = 0x23C8; // float
-}
-
-pub mod C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel { // C_CSGO_PreviewPlayer
-}
-
-pub mod C_CSGO_TeamIntroCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition
-}
-
-pub mod C_CSGO_TeamIntroCounterTerroristPosition { // C_CSGO_TeamIntroCharacterPosition
-}
-
-pub mod C_CSGO_TeamIntroTerroristPosition { // C_CSGO_TeamIntroCharacterPosition
-}
-
-pub mod C_CSGO_TeamPreviewCamera { // C_CSGO_MapPreviewCameraPath
-    pub const m_nVariant: usize = 0x5A0; // int32_t
-    pub const m_bDofEnabled: usize = 0x5A4; // bool
-    pub const m_flDofNearBlurry: usize = 0x5A8; // float
-    pub const m_flDofNearCrisp: usize = 0x5AC; // float
-    pub const m_flDofFarCrisp: usize = 0x5B0; // float
-    pub const m_flDofFarBlurry: usize = 0x5B4; // float
-    pub const m_flDofTiltToGround: usize = 0x5B8; // float
-}
-
-pub mod C_CSGO_TeamPreviewCharacterPosition { // C_BaseEntity
-    pub const m_nVariant: usize = 0x540; // int32_t
-    pub const m_nRandom: usize = 0x544; // int32_t
-    pub const m_nOrdinal: usize = 0x548; // int32_t
-    pub const m_sWeaponName: usize = 0x550; // CUtlString
-    pub const m_xuid: usize = 0x558; // uint64_t
-    pub const m_agentItem: usize = 0x560; // C_EconItemView
-    pub const m_glovesItem: usize = 0x9A8; // C_EconItemView
-    pub const m_weaponItem: usize = 0xDF0; // C_EconItemView
-}
-
-pub mod C_CSGO_TeamPreviewModel { // C_CSGO_PreviewPlayer
-}
-
-pub mod C_CSGO_TeamSelectCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGO_TeamSelectCharacterPosition { // C_CSGO_TeamPreviewCharacterPosition
-}
-
-pub mod C_CSGO_TeamSelectCounterTerroristPosition { // C_CSGO_TeamSelectCharacterPosition
-}
-
-pub mod C_CSGO_TeamSelectTerroristPosition { // C_CSGO_TeamSelectCharacterPosition
-}
-
-pub mod C_CSGO_TerroristTeamIntroCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGO_TerroristWingmanIntroCamera { // C_CSGO_TeamPreviewCamera
-}
-
-pub mod C_CSGameRules { // C_TeamplayRules
-    pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
-    pub const m_bFreezePeriod: usize = 0x30; // bool
-    pub const m_bWarmupPeriod: usize = 0x31; // bool
-    pub const m_fWarmupPeriodEnd: usize = 0x34; // GameTime_t
-    pub const m_fWarmupPeriodStart: usize = 0x38; // GameTime_t
-    pub const m_nTotalPausedTicks: usize = 0x3C; // int32_t
-    pub const m_nPauseStartTick: usize = 0x40; // int32_t
-    pub const m_bServerPaused: usize = 0x44; // bool
-    pub const m_bGamePaused: usize = 0x45; // bool
-    pub const m_bTerroristTimeOutActive: usize = 0x46; // bool
-    pub const m_bCTTimeOutActive: usize = 0x47; // bool
-    pub const m_flTerroristTimeOutRemaining: usize = 0x48; // float
-    pub const m_flCTTimeOutRemaining: usize = 0x4C; // float
-    pub const m_nTerroristTimeOuts: usize = 0x50; // int32_t
-    pub const m_nCTTimeOuts: usize = 0x54; // int32_t
-    pub const m_bTechnicalTimeOut: usize = 0x58; // bool
-    pub const m_bMatchWaitingForResume: usize = 0x59; // bool
-    pub const m_iRoundTime: usize = 0x5C; // int32_t
-    pub const m_fMatchStartTime: usize = 0x60; // float
-    pub const m_fRoundStartTime: usize = 0x64; // GameTime_t
-    pub const m_flRestartRoundTime: usize = 0x68; // GameTime_t
-    pub const m_bGameRestart: usize = 0x6C; // bool
-    pub const m_flGameStartTime: usize = 0x70; // float
-    pub const m_timeUntilNextPhaseStarts: usize = 0x74; // float
-    pub const m_gamePhase: usize = 0x78; // int32_t
-    pub const m_totalRoundsPlayed: usize = 0x7C; // int32_t
-    pub const m_nRoundsPlayedThisPhase: usize = 0x80; // int32_t
-    pub const m_nOvertimePlaying: usize = 0x84; // int32_t
-    pub const m_iHostagesRemaining: usize = 0x88; // int32_t
-    pub const m_bAnyHostageReached: usize = 0x8C; // bool
-    pub const m_bMapHasBombTarget: usize = 0x8D; // bool
-    pub const m_bMapHasRescueZone: usize = 0x8E; // bool
-    pub const m_bMapHasBuyZone: usize = 0x8F; // bool
-    pub const m_bIsQueuedMatchmaking: usize = 0x90; // bool
-    pub const m_nQueuedMatchmakingMode: usize = 0x94; // int32_t
-    pub const m_bIsValveDS: usize = 0x98; // bool
-    pub const m_bLogoMap: usize = 0x99; // bool
-    pub const m_bPlayAllStepSoundsOnServer: usize = 0x9A; // bool
-    pub const m_iSpectatorSlotCount: usize = 0x9C; // int32_t
-    pub const m_MatchDevice: usize = 0xA0; // int32_t
-    pub const m_bHasMatchStarted: usize = 0xA4; // bool
-    pub const m_nNextMapInMapgroup: usize = 0xA8; // int32_t
-    pub const m_szTournamentEventName: usize = 0xAC; // char[512]
-    pub const m_szTournamentEventStage: usize = 0x2AC; // char[512]
-    pub const m_szMatchStatTxt: usize = 0x4AC; // char[512]
-    pub const m_szTournamentPredictionsTxt: usize = 0x6AC; // char[512]
-    pub const m_nTournamentPredictionsPct: usize = 0x8AC; // int32_t
-    pub const m_flCMMItemDropRevealStartTime: usize = 0x8B0; // GameTime_t
-    pub const m_flCMMItemDropRevealEndTime: usize = 0x8B4; // GameTime_t
-    pub const m_bIsDroppingItems: usize = 0x8B8; // bool
-    pub const m_bIsQuestEligible: usize = 0x8B9; // bool
-    pub const m_bIsHltvActive: usize = 0x8BA; // bool
-    pub const m_nGuardianModeWaveNumber: usize = 0x8BC; // int32_t
-    pub const m_nGuardianModeSpecialKillsRemaining: usize = 0x8C0; // int32_t
-    pub const m_nGuardianModeSpecialWeaponNeeded: usize = 0x8C4; // int32_t
-    pub const m_nGuardianGrenadesToGiveBots: usize = 0x8C8; // int32_t
-    pub const m_nNumHeaviesToSpawn: usize = 0x8CC; // int32_t
-    pub const m_numGlobalGiftsGiven: usize = 0x8D0; // uint32_t
-    pub const m_numGlobalGifters: usize = 0x8D4; // uint32_t
-    pub const m_numGlobalGiftsPeriodSeconds: usize = 0x8D8; // uint32_t
-    pub const m_arrFeaturedGiftersAccounts: usize = 0x8DC; // uint32_t[4]
-    pub const m_arrFeaturedGiftersGifts: usize = 0x8EC; // uint32_t[4]
-    pub const m_arrProhibitedItemIndices: usize = 0x8FC; // uint16_t[100]
-    pub const m_arrTournamentActiveCasterAccounts: usize = 0x9C4; // uint32_t[4]
-    pub const m_numBestOfMaps: usize = 0x9D4; // int32_t
-    pub const m_nHalloweenMaskListSeed: usize = 0x9D8; // int32_t
-    pub const m_bBombDropped: usize = 0x9DC; // bool
-    pub const m_bBombPlanted: usize = 0x9DD; // bool
-    pub const m_iRoundWinStatus: usize = 0x9E0; // int32_t
-    pub const m_eRoundWinReason: usize = 0x9E4; // int32_t
-    pub const m_bTCantBuy: usize = 0x9E8; // bool
-    pub const m_bCTCantBuy: usize = 0x9E9; // bool
-    pub const m_flGuardianBuyUntilTime: usize = 0x9EC; // GameTime_t
-    pub const m_iMatchStats_RoundResults: usize = 0x9F0; // int32_t[30]
-    pub const m_iMatchStats_PlayersAlive_CT: usize = 0xA68; // int32_t[30]
-    pub const m_iMatchStats_PlayersAlive_T: usize = 0xAE0; // int32_t[30]
-    pub const m_TeamRespawnWaveTimes: usize = 0xB58; // float[32]
-    pub const m_flNextRespawnWave: usize = 0xBD8; // GameTime_t[32]
-    pub const m_nServerQuestID: usize = 0xC58; // int32_t
-    pub const m_vMinimapMins: usize = 0xC5C; // Vector
-    pub const m_vMinimapMaxs: usize = 0xC68; // Vector
-    pub const m_MinimapVerticalSectionHeights: usize = 0xC74; // float[8]
-    pub const m_bDontIncrementCoopWave: usize = 0xC94; // bool
-    pub const m_bSpawnedTerrorHuntHeavy: usize = 0xC95; // bool
-    pub const m_nEndMatchMapGroupVoteTypes: usize = 0xC98; // int32_t[10]
-    pub const m_nEndMatchMapGroupVoteOptions: usize = 0xCC0; // int32_t[10]
-    pub const m_nEndMatchMapVoteWinner: usize = 0xCE8; // int32_t
-    pub const m_iNumConsecutiveCTLoses: usize = 0xCEC; // int32_t
-    pub const m_iNumConsecutiveTerroristLoses: usize = 0xCF0; // int32_t
-    pub const m_bMarkClientStopRecordAtRoundEnd: usize = 0xD10; // bool
-    pub const m_nMatchAbortedEarlyReason: usize = 0xD68; // int32_t
-    pub const m_bHasTriggeredRoundStartMusic: usize = 0xD6C; // bool
-    pub const m_bHasTriggeredCoopSpawnReset: usize = 0xD6D; // bool
-    pub const m_bSwitchingTeamsAtRoundReset: usize = 0xD6E; // bool
-    pub const m_pGameModeRules: usize = 0xD88; // CCSGameModeRules*
-    pub const m_RetakeRules: usize = 0xD90; // C_RetakeGameRules
-    pub const m_nMatchEndCount: usize = 0xEA8; // uint8_t
-    pub const m_nTTeamIntroVariant: usize = 0xEAC; // int32_t
-    pub const m_nCTTeamIntroVariant: usize = 0xEB0; // int32_t
-    pub const m_bTeamIntroPeriod: usize = 0xEB4; // bool
-    pub const m_flLastPerfSampleTime: usize = 0x4EC0; // double
-}
-
-pub mod C_CSGameRulesProxy { // C_GameRulesProxy
-    pub const m_pGameRules: usize = 0x540; // C_CSGameRules*
-}
-
-pub mod C_CSMinimapBoundary { // C_BaseEntity
-}
-
-pub mod C_CSObserverPawn { // C_CSPlayerPawnBase
-    pub const m_hDetectParentChange: usize = 0x16B8; // CEntityHandle
-}
-
-pub mod C_CSPlayerPawn { // C_CSPlayerPawnBase
-    pub const m_pBulletServices: usize = 0x16B8; // CCSPlayer_BulletServices*
-    pub const m_pHostageServices: usize = 0x16C0; // CCSPlayer_HostageServices*
-    pub const m_pBuyServices: usize = 0x16C8; // CCSPlayer_BuyServices*
-    pub const m_pGlowServices: usize = 0x16D0; // CCSPlayer_GlowServices*
-    pub const m_pActionTrackingServices: usize = 0x16D8; // CCSPlayer_ActionTrackingServices*
-    pub const m_flHealthShotBoostExpirationTime: usize = 0x16E0; // GameTime_t
-    pub const m_flLastFiredWeaponTime: usize = 0x16E4; // GameTime_t
-    pub const m_bHasFemaleVoice: usize = 0x16E8; // bool
-    pub const m_flLandseconds: usize = 0x16EC; // float
-    pub const m_flOldFallVelocity: usize = 0x16F0; // float
-    pub const m_szLastPlaceName: usize = 0x16F4; // char[18]
-    pub const m_bPrevDefuser: usize = 0x1706; // bool
-    pub const m_bPrevHelmet: usize = 0x1707; // bool
-    pub const m_nPrevArmorVal: usize = 0x1708; // int32_t
-    pub const m_nPrevGrenadeAmmoCount: usize = 0x170C; // int32_t
-    pub const m_unPreviousWeaponHash: usize = 0x1710; // uint32_t
-    pub const m_unWeaponHash: usize = 0x1714; // uint32_t
-    pub const m_bInBuyZone: usize = 0x1718; // bool
-    pub const m_bPreviouslyInBuyZone: usize = 0x1719; // bool
-    pub const m_aimPunchAngle: usize = 0x171C; // QAngle
-    pub const m_aimPunchAngleVel: usize = 0x1728; // QAngle
-    pub const m_aimPunchTickBase: usize = 0x1734; // int32_t
-    pub const m_aimPunchTickFraction: usize = 0x1738; // float
-    pub const m_aimPunchCache: usize = 0x1740; // CUtlVector<QAngle>
-    pub const m_bInLanding: usize = 0x1760; // bool
-    pub const m_flLandingTime: usize = 0x1764; // float
-    pub const m_bInHostageRescueZone: usize = 0x1768; // bool
-    pub const m_bInBombZone: usize = 0x1769; // bool
-    pub const m_bIsBuyMenuOpen: usize = 0x176A; // bool
-    pub const m_flTimeOfLastInjury: usize = 0x176C; // GameTime_t
-    pub const m_flNextSprayDecalTime: usize = 0x1770; // GameTime_t
-    pub const m_iRetakesOffering: usize = 0x1888; // int32_t
-    pub const m_iRetakesOfferingCard: usize = 0x188C; // int32_t
-    pub const m_bRetakesHasDefuseKit: usize = 0x1890; // bool
-    pub const m_bRetakesMVPLastRound: usize = 0x1891; // bool
-    pub const m_iRetakesMVPBoostItem: usize = 0x1894; // int32_t
-    pub const m_RetakesMVPBoostExtraUtility: usize = 0x1898; // loadout_slot_t
-    pub const m_bNeedToReApplyGloves: usize = 0x18B8; // bool
-    pub const m_EconGloves: usize = 0x18C0; // C_EconItemView
-    pub const m_bMustSyncRagdollState: usize = 0x1D08; // bool
-    pub const m_nRagdollDamageBone: usize = 0x1D0C; // int32_t
-    pub const m_vRagdollDamageForce: usize = 0x1D10; // Vector
-    pub const m_vRagdollDamagePosition: usize = 0x1D1C; // Vector
-    pub const m_szRagdollDamageWeaponName: usize = 0x1D28; // char[64]
-    pub const m_bRagdollDamageHeadshot: usize = 0x1D68; // bool
-    pub const m_vRagdollServerOrigin: usize = 0x1D6C; // Vector
-    pub const m_bLastHeadBoneTransformIsValid: usize = 0x2380; // bool
-    pub const m_lastLandTime: usize = 0x2384; // GameTime_t
-    pub const m_bOnGroundLastTick: usize = 0x2388; // bool
-    pub const m_qDeathEyeAngles: usize = 0x23A4; // QAngle
-    pub const m_bSkipOneHeadConstraintUpdate: usize = 0x23B0; // bool
-}
-
-pub mod C_CSPlayerPawnBase { // C_BasePlayerPawn
-    pub const m_pPingServices: usize = 0x1268; // CCSPlayer_PingServices*
-    pub const m_pViewModelServices: usize = 0x1270; // CPlayer_ViewModelServices*
-    pub const m_fRenderingClipPlane: usize = 0x1280; // float[4]
-    pub const m_nLastClipPlaneSetupFrame: usize = 0x1290; // int32_t
-    pub const m_vecLastClipCameraPos: usize = 0x1294; // Vector
-    pub const m_vecLastClipCameraForward: usize = 0x12A0; // Vector
-    pub const m_bClipHitStaticWorld: usize = 0x12AC; // bool
-    pub const m_bCachedPlaneIsValid: usize = 0x12AD; // bool
-    pub const m_pClippingWeapon: usize = 0x12B0; // C_CSWeaponBase*
-    pub const m_previousPlayerState: usize = 0x12B8; // CSPlayerState
-    pub const m_flLastCollisionCeiling: usize = 0x12BC; // float
-    pub const m_flLastCollisionCeilingChangeTime: usize = 0x12C0; // float
-    pub const m_grenadeParameterStashTime: usize = 0x12E0; // GameTime_t
-    pub const m_bGrenadeParametersStashed: usize = 0x12E4; // bool
-    pub const m_angStashedShootAngles: usize = 0x12E8; // QAngle
-    pub const m_vecStashedGrenadeThrowPosition: usize = 0x12F4; // Vector
-    pub const m_vecStashedVelocity: usize = 0x1300; // Vector
-    pub const m_angShootAngleHistory: usize = 0x130C; // QAngle[2]
-    pub const m_vecThrowPositionHistory: usize = 0x1324; // Vector[2]
-    pub const m_vecVelocityHistory: usize = 0x133C; // Vector[2]
-    pub const m_thirdPersonHeading: usize = 0x1358; // QAngle
-    pub const m_flSlopeDropOffset: usize = 0x1370; // float
-    pub const m_flSlopeDropHeight: usize = 0x1380; // float
-    pub const m_vHeadConstraintOffset: usize = 0x1390; // Vector
-    pub const m_bIsScoped: usize = 0x13A8; // bool
-    pub const m_bIsWalking: usize = 0x13A9; // bool
-    pub const m_bResumeZoom: usize = 0x13AA; // bool
-    pub const m_iPlayerState: usize = 0x13AC; // CSPlayerState
-    pub const m_bIsDefusing: usize = 0x13B0; // bool
-    pub const m_bIsGrabbingHostage: usize = 0x13B1; // bool
-    pub const m_iBlockingUseActionInProgress: usize = 0x13B4; // CSPlayerBlockingUseAction_t
-    pub const m_bIsRescuing: usize = 0x13B8; // bool
-    pub const m_fImmuneToGunGameDamageTime: usize = 0x13BC; // GameTime_t
-    pub const m_fImmuneToGunGameDamageTimeLast: usize = 0x13C0; // GameTime_t
-    pub const m_bGunGameImmunity: usize = 0x13C4; // bool
-    pub const m_bHasMovedSinceSpawn: usize = 0x13C5; // bool
-    pub const m_fMolotovUseTime: usize = 0x13C8; // float
-    pub const m_fMolotovDamageTime: usize = 0x13CC; // float
-    pub const m_nWhichBombZone: usize = 0x13D0; // int32_t
-    pub const m_bInNoDefuseArea: usize = 0x13D4; // bool
-    pub const m_iThrowGrenadeCounter: usize = 0x13D8; // int32_t
-    pub const m_bWaitForNoAttack: usize = 0x13DC; // bool
-    pub const m_flGuardianTooFarDistFrac: usize = 0x13E0; // float
-    pub const m_flDetectedByEnemySensorTime: usize = 0x13E4; // GameTime_t
-    pub const m_flNextGuardianTooFarWarning: usize = 0x13E8; // float
-    pub const m_bSuppressGuardianTooFarWarningAudio: usize = 0x13EC; // bool
-    pub const m_bKilledByTaser: usize = 0x13ED; // bool
-    pub const m_iMoveState: usize = 0x13F0; // int32_t
-    pub const m_bCanMoveDuringFreezePeriod: usize = 0x13F4; // bool
-    pub const m_flLowerBodyYawTarget: usize = 0x13F8; // float
-    pub const m_bStrafing: usize = 0x13FC; // bool
-    pub const m_flLastSpawnTimeIndex: usize = 0x1400; // GameTime_t
-    pub const m_flEmitSoundTime: usize = 0x1404; // GameTime_t
-    pub const m_iAddonBits: usize = 0x1408; // int32_t
-    pub const m_iPrimaryAddon: usize = 0x140C; // int32_t
-    pub const m_iSecondaryAddon: usize = 0x1410; // int32_t
-    pub const m_iProgressBarDuration: usize = 0x1414; // int32_t
-    pub const m_flProgressBarStartTime: usize = 0x1418; // float
-    pub const m_iDirection: usize = 0x141C; // int32_t
-    pub const m_iShotsFired: usize = 0x1420; // int32_t
-    pub const m_bNightVisionOn: usize = 0x1424; // bool
-    pub const m_bHasNightVision: usize = 0x1425; // bool
-    pub const m_flVelocityModifier: usize = 0x1428; // float
-    pub const m_flHitHeading: usize = 0x142C; // float
-    pub const m_nHitBodyPart: usize = 0x1430; // int32_t
-    pub const m_iStartAccount: usize = 0x1434; // int32_t
-    pub const m_vecIntroStartEyePosition: usize = 0x1438; // Vector
-    pub const m_vecIntroStartPlayerForward: usize = 0x1444; // Vector
-    pub const m_flClientDeathTime: usize = 0x1450; // GameTime_t
-    pub const m_flNightVisionAlpha: usize = 0x1454; // float
-    pub const m_bScreenTearFrameCaptured: usize = 0x1458; // bool
-    pub const m_flFlashBangTime: usize = 0x145C; // float
-    pub const m_flFlashScreenshotAlpha: usize = 0x1460; // float
-    pub const m_flFlashOverlayAlpha: usize = 0x1464; // float
-    pub const m_bFlashBuildUp: usize = 0x1468; // bool
-    pub const m_bFlashDspHasBeenCleared: usize = 0x1469; // bool
-    pub const m_bFlashScreenshotHasBeenGrabbed: usize = 0x146A; // bool
-    pub const m_flFlashMaxAlpha: usize = 0x146C; // float
-    pub const m_flFlashDuration: usize = 0x1470; // float
-    pub const m_lastStandingPos: usize = 0x1474; // Vector
-    pub const m_vecLastMuzzleFlashPos: usize = 0x1480; // Vector
-    pub const m_angLastMuzzleFlashAngle: usize = 0x148C; // QAngle
-    pub const m_hMuzzleFlashShape: usize = 0x1498; // CHandle<C_BaseEntity>
-    pub const m_iHealthBarRenderMaskIndex: usize = 0x149C; // int32_t
-    pub const m_flHealthFadeValue: usize = 0x14A0; // float
-    pub const m_flHealthFadeAlpha: usize = 0x14A4; // float
-    pub const m_nMyCollisionGroup: usize = 0x14A8; // int32_t
-    pub const m_ignoreLadderJumpTime: usize = 0x14AC; // float
-    pub const m_ladderSurpressionTimer: usize = 0x14B0; // CountdownTimer
-    pub const m_lastLadderNormal: usize = 0x14C8; // Vector
-    pub const m_lastLadderPos: usize = 0x14D4; // Vector
-    pub const m_flDeathCCWeight: usize = 0x14E8; // float
-    pub const m_bOldIsScoped: usize = 0x14EC; // bool
-    pub const m_flPrevRoundEndTime: usize = 0x14F0; // float
-    pub const m_flPrevMatchEndTime: usize = 0x14F4; // float
-    pub const m_unCurrentEquipmentValue: usize = 0x14F8; // uint16_t
-    pub const m_unRoundStartEquipmentValue: usize = 0x14FA; // uint16_t
-    pub const m_unFreezetimeEndEquipmentValue: usize = 0x14FC; // uint16_t
-    pub const m_vecThirdPersonViewPositionOverride: usize = 0x1500; // Vector
-    pub const m_nHeavyAssaultSuitCooldownRemaining: usize = 0x150C; // int32_t
-    pub const m_ArmorValue: usize = 0x1510; // int32_t
-    pub const m_angEyeAngles: usize = 0x1518; // QAngle
-    pub const m_fNextThinkPushAway: usize = 0x1530; // float
-    pub const m_bShouldAutobuyDMWeapons: usize = 0x1534; // bool
-    pub const m_bShouldAutobuyNow: usize = 0x1535; // bool
-    pub const m_bHud_MiniScoreHidden: usize = 0x1536; // bool
-    pub const m_bHud_RadarHidden: usize = 0x1537; // bool
-    pub const m_nLastKillerIndex: usize = 0x1538; // CEntityIndex
-    pub const m_nLastConcurrentKilled: usize = 0x153C; // int32_t
-    pub const m_nDeathCamMusic: usize = 0x1540; // int32_t
-    pub const m_iIDEntIndex: usize = 0x1544; // CEntityIndex
-    pub const m_delayTargetIDTimer: usize = 0x1548; // CountdownTimer
-    pub const m_iTargetedWeaponEntIndex: usize = 0x1560; // CEntityIndex
-    pub const m_iOldIDEntIndex: usize = 0x1564; // CEntityIndex
-    pub const m_holdTargetIDTimer: usize = 0x1568; // CountdownTimer
-    pub const m_flCurrentMusicStartTime: usize = 0x1584; // float
-    pub const m_flMusicRoundStartTime: usize = 0x1588; // float
-    pub const m_bDeferStartMusicOnWarmup: usize = 0x158C; // bool
-    pub const m_cycleLatch: usize = 0x1590; // int32_t
-    pub const m_serverIntendedCycle: usize = 0x1594; // float
-    pub const m_vecPlayerPatchEconIndices: usize = 0x1598; // uint32_t[5]
-    pub const m_bHideTargetID: usize = 0x15B4; // bool
-    pub const m_nextTaserShakeTime: usize = 0x15B8; // float
-    pub const m_firstTaserShakeTime: usize = 0x15BC; // float
-    pub const m_flLastSmokeOverlayAlpha: usize = 0x15C0; // float
-    pub const m_vLastSmokeOverlayColor: usize = 0x15C4; // Vector
-    pub const m_nPlayerSmokedFx: usize = 0x15D0; // ParticleIndex_t
-    pub const m_flNextMagDropTime: usize = 0x15D4; // float
-    pub const m_nLastMagDropAttachmentIndex: usize = 0x15D8; // int32_t
-    pub const m_vecBulletHitModels: usize = 0x15E0; // CUtlVector<C_BulletHitModel*>
-    pub const m_vecPickupModelSlerpers: usize = 0x15F8; // CUtlVector<C_PickUpModelSlerper*>
-    pub const m_vecLastAliveLocalVelocity: usize = 0x1610; // Vector
-    pub const m_entitySpottedState: usize = 0x1638; // EntitySpottedState_t
-    pub const m_nSurvivalTeamNumber: usize = 0x1650; // int32_t
-    pub const m_bGuardianShouldSprayCustomXMark: usize = 0x1654; // bool
-    pub const m_bHasDeathInfo: usize = 0x1655; // bool
-    pub const m_flDeathInfoTime: usize = 0x1658; // float
-    pub const m_vecDeathInfoOrigin: usize = 0x165C; // Vector
-    pub const m_bKilledByHeadshot: usize = 0x1668; // bool
-    pub const m_hOriginalController: usize = 0x166C; // CHandle<CCSPlayerController>
-}
-
-pub mod C_CSPlayerResource { // C_BaseEntity
-    pub const m_bHostageAlive: usize = 0x540; // bool[12]
-    pub const m_isHostageFollowingSomeone: usize = 0x54C; // bool[12]
-    pub const m_iHostageEntityIDs: usize = 0x558; // CEntityIndex[12]
-    pub const m_bombsiteCenterA: usize = 0x588; // Vector
-    pub const m_bombsiteCenterB: usize = 0x594; // Vector
-    pub const m_hostageRescueX: usize = 0x5A0; // int32_t[4]
-    pub const m_hostageRescueY: usize = 0x5B0; // int32_t[4]
-    pub const m_hostageRescueZ: usize = 0x5C0; // int32_t[4]
-    pub const m_bEndMatchNextMapAllVoted: usize = 0x5D0; // bool
-    pub const m_foundGoalPositions: usize = 0x5D1; // bool
-}
-
-pub mod C_CSTeam { // C_Team
-    pub const m_szTeamMatchStat: usize = 0x5F8; // char[512]
-    pub const m_numMapVictories: usize = 0x7F8; // int32_t
-    pub const m_bSurrendered: usize = 0x7FC; // bool
-    pub const m_scoreFirstHalf: usize = 0x800; // int32_t
-    pub const m_scoreSecondHalf: usize = 0x804; // int32_t
-    pub const m_scoreOvertime: usize = 0x808; // int32_t
-    pub const m_szClanTeamname: usize = 0x80C; // char[129]
-    pub const m_iClanID: usize = 0x890; // uint32_t
-    pub const m_szTeamFlagImage: usize = 0x894; // char[8]
-    pub const m_szTeamLogoImage: usize = 0x89C; // char[8]
-}
-
-pub mod C_CSWeaponBase { // C_BasePlayerWeapon
-    pub const m_flFireSequenceStartTime: usize = 0x15D4; // float
-    pub const m_nFireSequenceStartTimeChange: usize = 0x15D8; // int32_t
-    pub const m_nFireSequenceStartTimeAck: usize = 0x15DC; // int32_t
-    pub const m_ePlayerFireEvent: usize = 0x15E0; // PlayerAnimEvent_t
-    pub const m_ePlayerFireEventAttackType: usize = 0x15E4; // WeaponAttackType_t
-    pub const m_seqIdle: usize = 0x15E8; // HSequence
-    pub const m_seqFirePrimary: usize = 0x15EC; // HSequence
-    pub const m_seqFireSecondary: usize = 0x15F0; // HSequence
-    pub const m_thirdPersonFireSequences: usize = 0x15F8; // CUtlVector<HSequence>
-    pub const m_hCurrentThirdPersonSequence: usize = 0x1610; // HSequence
-    pub const m_nSilencerBoneIndex: usize = 0x1614; // int32_t
-    pub const m_thirdPersonSequences: usize = 0x1618; // HSequence[7]
-    pub const m_ClientPreviousWeaponState: usize = 0x1650; // CSWeaponState_t
-    pub const m_iState: usize = 0x1654; // CSWeaponState_t
-    pub const m_flCrosshairDistance: usize = 0x1658; // float
-    pub const m_iAmmoLastCheck: usize = 0x165C; // int32_t
-    pub const m_iAlpha: usize = 0x1660; // int32_t
-    pub const m_iScopeTextureID: usize = 0x1664; // int32_t
-    pub const m_iCrosshairTextureID: usize = 0x1668; // int32_t
-    pub const m_flGunAccuracyPosition: usize = 0x166C; // float
-    pub const m_nViewModelIndex: usize = 0x1670; // uint32_t
-    pub const m_bReloadsWithClips: usize = 0x1674; // bool
-    pub const m_flTimeWeaponIdle: usize = 0x1678; // GameTime_t
-    pub const m_bFireOnEmpty: usize = 0x167C; // bool
-    pub const m_OnPlayerPickup: usize = 0x1680; // CEntityIOOutput
-    pub const m_weaponMode: usize = 0x16A8; // CSWeaponMode
-    pub const m_flTurningInaccuracyDelta: usize = 0x16AC; // float
-    pub const m_vecTurningInaccuracyEyeDirLast: usize = 0x16B0; // Vector
-    pub const m_flTurningInaccuracy: usize = 0x16BC; // float
-    pub const m_fAccuracyPenalty: usize = 0x16C0; // float
-    pub const m_flLastAccuracyUpdateTime: usize = 0x16C4; // GameTime_t
-    pub const m_fAccuracySmoothedForZoom: usize = 0x16C8; // float
-    pub const m_fScopeZoomEndTime: usize = 0x16CC; // GameTime_t
-    pub const m_iRecoilIndex: usize = 0x16D0; // int32_t
-    pub const m_flRecoilIndex: usize = 0x16D4; // float
-    pub const m_bBurstMode: usize = 0x16D8; // bool
-    pub const m_nPostponeFireReadyTicks: usize = 0x16DC; // GameTick_t
-    pub const m_flPostponeFireReadyFrac: usize = 0x16E0; // float
-    pub const m_bInReload: usize = 0x16E4; // bool
-    pub const m_bReloadVisuallyComplete: usize = 0x16E5; // bool
-    pub const m_flDroppedAtTime: usize = 0x16E8; // GameTime_t
-    pub const m_bIsHauledBack: usize = 0x16EC; // bool
-    pub const m_bSilencerOn: usize = 0x16ED; // bool
-    pub const m_flTimeSilencerSwitchComplete: usize = 0x16F0; // GameTime_t
-    pub const m_iOriginalTeamNumber: usize = 0x16F4; // int32_t
-    pub const m_flNextAttackRenderTimeOffset: usize = 0x16F8; // float
-    pub const m_bVisualsDataSet: usize = 0x1780; // bool
-    pub const m_bOldFirstPersonSpectatedState: usize = 0x1781; // bool
-    pub const m_hOurPing: usize = 0x1784; // CHandle<C_BaseEntity>
-    pub const m_nOurPingIndex: usize = 0x1788; // CEntityIndex
-    pub const m_vecOurPingPos: usize = 0x178C; // Vector
-    pub const m_bGlowForPing: usize = 0x1798; // bool
-    pub const m_bUIWeapon: usize = 0x1799; // bool
-    pub const m_hPrevOwner: usize = 0x17A8; // CHandle<C_CSPlayerPawn>
-    pub const m_nDropTick: usize = 0x17AC; // GameTick_t
-    pub const m_donated: usize = 0x17CC; // bool
-    pub const m_fLastShotTime: usize = 0x17D0; // GameTime_t
-    pub const m_bWasOwnedByCT: usize = 0x17D4; // bool
-    pub const m_bWasOwnedByTerrorist: usize = 0x17D5; // bool
-    pub const m_gunHeat: usize = 0x17D8; // float
-    pub const m_smokeAttachments: usize = 0x17DC; // uint32_t
-    pub const m_lastSmokeTime: usize = 0x17E0; // GameTime_t
-    pub const m_flNextClientFireBulletTime: usize = 0x17E4; // float
-    pub const m_flNextClientFireBulletTime_Repredict: usize = 0x17E8; // float
-    pub const m_IronSightController: usize = 0x18C0; // C_IronSightController
-    pub const m_iIronSightMode: usize = 0x1970; // int32_t
-    pub const m_flLastLOSTraceFailureTime: usize = 0x1980; // GameTime_t
-    pub const m_iNumEmptyAttacks: usize = 0x1984; // int32_t
-    pub const m_flLastMagDropRequestTime: usize = 0x1A00; // GameTime_t
-}
-
-pub mod C_CSWeaponBaseGun { // C_CSWeaponBase
-    pub const m_zoomLevel: usize = 0x1A10; // int32_t
-    pub const m_iBurstShotsRemaining: usize = 0x1A14; // int32_t
-    pub const m_iSilencerBodygroup: usize = 0x1A18; // int32_t
-    pub const m_silencedModelIndex: usize = 0x1A28; // int32_t
-    pub const m_inPrecache: usize = 0x1A2C; // bool
-    pub const m_bNeedsBoltAction: usize = 0x1A2D; // bool
-}
-
-pub mod C_Chicken { // C_DynamicProp
-    pub const m_hHolidayHatAddon: usize = 0x10F0; // CHandle<CBaseAnimGraph>
-    pub const m_jumpedThisFrame: usize = 0x10F4; // bool
-    pub const m_leader: usize = 0x10F8; // CHandle<C_CSPlayerPawnBase>
-    pub const m_AttributeManager: usize = 0x1100; // C_AttributeContainer
-    pub const m_OriginalOwnerXuidLow: usize = 0x15A8; // uint32_t
-    pub const m_OriginalOwnerXuidHigh: usize = 0x15AC; // uint32_t
-    pub const m_bAttributesInitialized: usize = 0x15B0; // bool
-    pub const m_hWaterWakeParticles: usize = 0x15B4; // ParticleIndex_t
-}
-
-pub mod C_ClientRagdoll { // CBaseAnimGraph
-    pub const m_bFadeOut: usize = 0xE80; // bool
-    pub const m_bImportant: usize = 0xE81; // bool
-    pub const m_flEffectTime: usize = 0xE84; // GameTime_t
-    pub const m_gibDespawnTime: usize = 0xE88; // GameTime_t
-    pub const m_iCurrentFriction: usize = 0xE8C; // int32_t
-    pub const m_iMinFriction: usize = 0xE90; // int32_t
-    pub const m_iMaxFriction: usize = 0xE94; // int32_t
-    pub const m_iFrictionAnimState: usize = 0xE98; // int32_t
-    pub const m_bReleaseRagdoll: usize = 0xE9C; // bool
-    pub const m_iEyeAttachment: usize = 0xE9D; // AttachmentHandle_t
-    pub const m_bFadingOut: usize = 0xE9E; // bool
-    pub const m_flScaleEnd: usize = 0xEA0; // float[10]
-    pub const m_flScaleTimeStart: usize = 0xEC8; // GameTime_t[10]
-    pub const m_flScaleTimeEnd: usize = 0xEF0; // GameTime_t[10]
-}
-
-pub mod C_ColorCorrection { // C_BaseEntity
-    pub const m_vecOrigin: usize = 0x540; // Vector
-    pub const m_MinFalloff: usize = 0x54C; // float
-    pub const m_MaxFalloff: usize = 0x550; // float
-    pub const m_flFadeInDuration: usize = 0x554; // float
-    pub const m_flFadeOutDuration: usize = 0x558; // float
-    pub const m_flMaxWeight: usize = 0x55C; // float
-    pub const m_flCurWeight: usize = 0x560; // float
-    pub const m_netlookupFilename: usize = 0x564; // char[512]
-    pub const m_bEnabled: usize = 0x764; // bool
-    pub const m_bMaster: usize = 0x765; // bool
-    pub const m_bClientSide: usize = 0x766; // bool
-    pub const m_bExclusive: usize = 0x767; // bool
-    pub const m_bEnabledOnClient: usize = 0x768; // bool[1]
-    pub const m_flCurWeightOnClient: usize = 0x76C; // float[1]
-    pub const m_bFadingIn: usize = 0x770; // bool[1]
-    pub const m_flFadeStartWeight: usize = 0x774; // float[1]
-    pub const m_flFadeStartTime: usize = 0x778; // float[1]
-    pub const m_flFadeDuration: usize = 0x77C; // float[1]
-}
-
-pub mod C_ColorCorrectionVolume { // C_BaseTrigger
-    pub const m_LastEnterWeight: usize = 0xCC8; // float
-    pub const m_LastEnterTime: usize = 0xCCC; // float
-    pub const m_LastExitWeight: usize = 0xCD0; // float
-    pub const m_LastExitTime: usize = 0xCD4; // float
-    pub const m_bEnabled: usize = 0xCD8; // bool
-    pub const m_MaxWeight: usize = 0xCDC; // float
-    pub const m_FadeDuration: usize = 0xCE0; // float
-    pub const m_Weight: usize = 0xCE4; // float
-    pub const m_lookupFilename: usize = 0xCE8; // char[512]
-}
-
-pub mod C_CommandContext {
-    pub const needsprocessing: usize = 0x0; // bool
-    pub const command_number: usize = 0xA8; // int32_t
-}
-
-pub mod C_CsmFovOverride { // C_BaseEntity
-    pub const m_cameraName: usize = 0x540; // CUtlString
-    pub const m_flCsmFovOverrideValue: usize = 0x548; // float
-}
-
-pub mod C_DEagle { // C_CSWeaponBaseGun
-}
-
-pub mod C_DecoyGrenade { // C_BaseCSGrenade
-}
-
-pub mod C_DecoyProjectile { // C_BaseCSGrenadeProjectile
-    pub const m_nDecoyShotTick: usize = 0x1100; // int32_t
-    pub const m_nClientLastKnownDecoyShotTick: usize = 0x1104; // int32_t
-    pub const m_flTimeParticleEffectSpawn: usize = 0x1128; // GameTime_t
-}
-
-pub mod C_DynamicLight { // C_BaseModelEntity
-    pub const m_Flags: usize = 0xCC0; // uint8_t
-    pub const m_LightStyle: usize = 0xCC1; // uint8_t
-    pub const m_Radius: usize = 0xCC4; // float
-    pub const m_Exponent: usize = 0xCC8; // int32_t
-    pub const m_InnerAngle: usize = 0xCCC; // float
-    pub const m_OuterAngle: usize = 0xCD0; // float
-    pub const m_SpotRadius: usize = 0xCD4; // float
-}
-
-pub mod C_DynamicProp { // C_BreakableProp
-    pub const m_bUseHitboxesForRenderBox: usize = 0xFD0; // bool
-    pub const m_bUseAnimGraph: usize = 0xFD1; // bool
-    pub const m_pOutputAnimBegun: usize = 0xFD8; // CEntityIOOutput
-    pub const m_pOutputAnimOver: usize = 0x1000; // CEntityIOOutput
-    pub const m_pOutputAnimLoopCycleOver: usize = 0x1028; // CEntityIOOutput
-    pub const m_OnAnimReachedStart: usize = 0x1050; // CEntityIOOutput
-    pub const m_OnAnimReachedEnd: usize = 0x1078; // CEntityIOOutput
-    pub const m_iszDefaultAnim: usize = 0x10A0; // CUtlSymbolLarge
-    pub const m_nDefaultAnimLoopMode: usize = 0x10A8; // AnimLoopMode_t
-    pub const m_bAnimateOnServer: usize = 0x10AC; // bool
-    pub const m_bRandomizeCycle: usize = 0x10AD; // bool
-    pub const m_bStartDisabled: usize = 0x10AE; // bool
-    pub const m_bScriptedMovement: usize = 0x10AF; // bool
-    pub const m_bFiredStartEndOutput: usize = 0x10B0; // bool
-    pub const m_bForceNpcExclude: usize = 0x10B1; // bool
-    pub const m_bCreateNonSolid: usize = 0x10B2; // bool
-    pub const m_bIsOverrideProp: usize = 0x10B3; // bool
-    pub const m_iInitialGlowState: usize = 0x10B4; // int32_t
-    pub const m_nGlowRange: usize = 0x10B8; // int32_t
-    pub const m_nGlowRangeMin: usize = 0x10BC; // int32_t
-    pub const m_glowColor: usize = 0x10C0; // Color
-    pub const m_nGlowTeam: usize = 0x10C4; // int32_t
-    pub const m_iCachedFrameCount: usize = 0x10C8; // int32_t
-    pub const m_vecCachedRenderMins: usize = 0x10CC; // Vector
-    pub const m_vecCachedRenderMaxs: usize = 0x10D8; // Vector
-}
-
-pub mod C_DynamicPropAlias_cable_dynamic { // C_DynamicProp
-}
-
-pub mod C_DynamicPropAlias_dynamic_prop { // C_DynamicProp
-}
-
-pub mod C_DynamicPropAlias_prop_dynamic_override { // C_DynamicProp
-}
-
-pub mod C_EconEntity { // C_BaseFlex
-    pub const m_flFlexDelayTime: usize = 0x1028; // float
-    pub const m_flFlexDelayedWeight: usize = 0x1030; // float*
-    pub const m_bAttributesInitialized: usize = 0x1038; // bool
-    pub const m_AttributeManager: usize = 0x1040; // C_AttributeContainer
-    pub const m_OriginalOwnerXuidLow: usize = 0x14E8; // uint32_t
-    pub const m_OriginalOwnerXuidHigh: usize = 0x14EC; // uint32_t
-    pub const m_nFallbackPaintKit: usize = 0x14F0; // int32_t
-    pub const m_nFallbackSeed: usize = 0x14F4; // int32_t
-    pub const m_flFallbackWear: usize = 0x14F8; // float
-    pub const m_nFallbackStatTrak: usize = 0x14FC; // int32_t
-    pub const m_bClientside: usize = 0x1500; // bool
-    pub const m_bParticleSystemsCreated: usize = 0x1501; // bool
-    pub const m_vecAttachedParticles: usize = 0x1508; // CUtlVector<int32_t>
-    pub const m_hViewmodelAttachment: usize = 0x1520; // CHandle<CBaseAnimGraph>
-    pub const m_iOldTeam: usize = 0x1524; // int32_t
-    pub const m_bAttachmentDirty: usize = 0x1528; // bool
-    pub const m_nUnloadedModelIndex: usize = 0x152C; // int32_t
-    pub const m_iNumOwnerValidationRetries: usize = 0x1530; // int32_t
-    pub const m_hOldProvidee: usize = 0x1540; // CHandle<C_BaseEntity>
-    pub const m_vecAttachedModels: usize = 0x1548; // CUtlVector<C_EconEntity::AttachedModelData_t>
-}
-
-pub mod C_EconEntity_AttachedModelData_t {
-    pub const m_iModelDisplayFlags: usize = 0x0; // int32_t
-}
-
-pub mod C_EconItemView { // IEconItemInterface
-    pub const m_bInventoryImageRgbaRequested: usize = 0x60; // bool
-    pub const m_bInventoryImageTriedCache: usize = 0x61; // bool
-    pub const m_nInventoryImageRgbaWidth: usize = 0x80; // int32_t
-    pub const m_nInventoryImageRgbaHeight: usize = 0x84; // int32_t
-    pub const m_szCurrentLoadCachedFileName: usize = 0x88; // char[260]
-    pub const m_bRestoreCustomMaterialAfterPrecache: usize = 0x1B8; // bool
-    pub const m_iItemDefinitionIndex: usize = 0x1BA; // uint16_t
-    pub const m_iEntityQuality: usize = 0x1BC; // int32_t
-    pub const m_iEntityLevel: usize = 0x1C0; // uint32_t
-    pub const m_iItemID: usize = 0x1C8; // uint64_t
-    pub const m_iItemIDHigh: usize = 0x1D0; // uint32_t
-    pub const m_iItemIDLow: usize = 0x1D4; // uint32_t
-    pub const m_iAccountID: usize = 0x1D8; // uint32_t
-    pub const m_iInventoryPosition: usize = 0x1DC; // uint32_t
-    pub const m_bInitialized: usize = 0x1E8; // bool
-    pub const m_bIsStoreItem: usize = 0x1E9; // bool
-    pub const m_bIsTradeItem: usize = 0x1EA; // bool
-    pub const m_iEntityQuantity: usize = 0x1EC; // int32_t
-    pub const m_iRarityOverride: usize = 0x1F0; // int32_t
-    pub const m_iQualityOverride: usize = 0x1F4; // int32_t
-    pub const m_unClientFlags: usize = 0x1F8; // uint8_t
-    pub const m_unOverrideStyle: usize = 0x1F9; // uint8_t
-    pub const m_AttributeList: usize = 0x210; // CAttributeList
-    pub const m_NetworkedDynamicAttributes: usize = 0x270; // CAttributeList
-    pub const m_szCustomName: usize = 0x2D0; // char[161]
-    pub const m_szCustomNameOverride: usize = 0x371; // char[161]
-    pub const m_bInitializedTags: usize = 0x440; // bool
-}
-
-pub mod C_EconWearable { // C_EconEntity
-    pub const m_nForceSkin: usize = 0x1560; // int32_t
-    pub const m_bAlwaysAllow: usize = 0x1564; // bool
-}
-
-pub mod C_EntityDissolve { // C_BaseModelEntity
-    pub const m_flStartTime: usize = 0xCC8; // GameTime_t
-    pub const m_flFadeInStart: usize = 0xCCC; // float
-    pub const m_flFadeInLength: usize = 0xCD0; // float
-    pub const m_flFadeOutModelStart: usize = 0xCD4; // float
-    pub const m_flFadeOutModelLength: usize = 0xCD8; // float
-    pub const m_flFadeOutStart: usize = 0xCDC; // float
-    pub const m_flFadeOutLength: usize = 0xCE0; // float
-    pub const m_flNextSparkTime: usize = 0xCE4; // GameTime_t
-    pub const m_nDissolveType: usize = 0xCE8; // EntityDisolveType_t
-    pub const m_vDissolverOrigin: usize = 0xCEC; // Vector
-    pub const m_nMagnitude: usize = 0xCF8; // uint32_t
-    pub const m_bCoreExplode: usize = 0xCFC; // bool
-    pub const m_bLinkedToServerEnt: usize = 0xCFD; // bool
-}
-
-pub mod C_EntityFlame { // C_BaseEntity
-    pub const m_hEntAttached: usize = 0x540; // CHandle<C_BaseEntity>
-    pub const m_hOldAttached: usize = 0x568; // CHandle<C_BaseEntity>
-    pub const m_bCheapEffect: usize = 0x56C; // bool
-}
-
-pub mod C_EnvCombinedLightProbeVolume { // C_BaseEntity
-    pub const m_Color: usize = 0x1598; // Color
-    pub const m_flBrightness: usize = 0x159C; // float
-    pub const m_hCubemapTexture: usize = 0x15A0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_bCustomCubemapTexture: usize = 0x15A8; // bool
-    pub const m_hLightProbeTexture: usize = 0x15B0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightIndicesTexture: usize = 0x15B8; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightScalarsTexture: usize = 0x15C0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightShadowsTexture: usize = 0x15C8; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_vBoxMins: usize = 0x15D0; // Vector
-    pub const m_vBoxMaxs: usize = 0x15DC; // Vector
-    pub const m_bMoveable: usize = 0x15E8; // bool
-    pub const m_nHandshake: usize = 0x15EC; // int32_t
-    pub const m_nEnvCubeMapArrayIndex: usize = 0x15F0; // int32_t
-    pub const m_nPriority: usize = 0x15F4; // int32_t
-    pub const m_bStartDisabled: usize = 0x15F8; // bool
-    pub const m_flEdgeFadeDist: usize = 0x15FC; // float
-    pub const m_vEdgeFadeDists: usize = 0x1600; // Vector
-    pub const m_nLightProbeSizeX: usize = 0x160C; // int32_t
-    pub const m_nLightProbeSizeY: usize = 0x1610; // int32_t
-    pub const m_nLightProbeSizeZ: usize = 0x1614; // int32_t
-    pub const m_nLightProbeAtlasX: usize = 0x1618; // int32_t
-    pub const m_nLightProbeAtlasY: usize = 0x161C; // int32_t
-    pub const m_nLightProbeAtlasZ: usize = 0x1620; // int32_t
-    pub const m_bEnabled: usize = 0x1639; // bool
-}
-
-pub mod C_EnvCubemap { // C_BaseEntity
-    pub const m_hCubemapTexture: usize = 0x5C0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_bCustomCubemapTexture: usize = 0x5C8; // bool
-    pub const m_flInfluenceRadius: usize = 0x5CC; // float
-    pub const m_vBoxProjectMins: usize = 0x5D0; // Vector
-    pub const m_vBoxProjectMaxs: usize = 0x5DC; // Vector
-    pub const m_bMoveable: usize = 0x5E8; // bool
-    pub const m_nHandshake: usize = 0x5EC; // int32_t
-    pub const m_nEnvCubeMapArrayIndex: usize = 0x5F0; // int32_t
-    pub const m_nPriority: usize = 0x5F4; // int32_t
-    pub const m_flEdgeFadeDist: usize = 0x5F8; // float
-    pub const m_vEdgeFadeDists: usize = 0x5FC; // Vector
-    pub const m_flDiffuseScale: usize = 0x608; // float
-    pub const m_bStartDisabled: usize = 0x60C; // bool
-    pub const m_bDefaultEnvMap: usize = 0x60D; // bool
-    pub const m_bDefaultSpecEnvMap: usize = 0x60E; // bool
-    pub const m_bIndoorCubeMap: usize = 0x60F; // bool
-    pub const m_bCopyDiffuseFromDefaultCubemap: usize = 0x610; // bool
-    pub const m_bEnabled: usize = 0x620; // bool
-}
-
-pub mod C_EnvCubemapBox { // C_EnvCubemap
-}
-
-pub mod C_EnvCubemapFog { // C_BaseEntity
-    pub const m_flEndDistance: usize = 0x540; // float
-    pub const m_flStartDistance: usize = 0x544; // float
-    pub const m_flFogFalloffExponent: usize = 0x548; // float
-    pub const m_bHeightFogEnabled: usize = 0x54C; // bool
-    pub const m_flFogHeightWidth: usize = 0x550; // float
-    pub const m_flFogHeightEnd: usize = 0x554; // float
-    pub const m_flFogHeightStart: usize = 0x558; // float
-    pub const m_flFogHeightExponent: usize = 0x55C; // float
-    pub const m_flLODBias: usize = 0x560; // float
-    pub const m_bActive: usize = 0x564; // bool
-    pub const m_bStartDisabled: usize = 0x565; // bool
-    pub const m_flFogMaxOpacity: usize = 0x568; // float
-    pub const m_nCubemapSourceType: usize = 0x56C; // int32_t
-    pub const m_hSkyMaterial: usize = 0x570; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_iszSkyEntity: usize = 0x578; // CUtlSymbolLarge
-    pub const m_hFogCubemapTexture: usize = 0x580; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_bHasHeightFogEnd: usize = 0x588; // bool
-    pub const m_bFirstTime: usize = 0x589; // bool
-}
-
-pub mod C_EnvDecal { // C_BaseModelEntity
-    pub const m_hDecalMaterial: usize = 0xCC0; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_flWidth: usize = 0xCC8; // float
-    pub const m_flHeight: usize = 0xCCC; // float
-    pub const m_flDepth: usize = 0xCD0; // float
-    pub const m_nRenderOrder: usize = 0xCD4; // uint32_t
-    pub const m_bProjectOnWorld: usize = 0xCD8; // bool
-    pub const m_bProjectOnCharacters: usize = 0xCD9; // bool
-    pub const m_bProjectOnWater: usize = 0xCDA; // bool
-    pub const m_flDepthSortBias: usize = 0xCDC; // float
-}
-
-pub mod C_EnvDetailController { // C_BaseEntity
-    pub const m_flFadeStartDist: usize = 0x540; // float
-    pub const m_flFadeEndDist: usize = 0x544; // float
-}
-
-pub mod C_EnvLightProbeVolume { // C_BaseEntity
-    pub const m_hLightProbeTexture: usize = 0x1518; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightIndicesTexture: usize = 0x1520; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightScalarsTexture: usize = 0x1528; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hLightProbeDirectLightShadowsTexture: usize = 0x1530; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_vBoxMins: usize = 0x1538; // Vector
-    pub const m_vBoxMaxs: usize = 0x1544; // Vector
-    pub const m_bMoveable: usize = 0x1550; // bool
-    pub const m_nHandshake: usize = 0x1554; // int32_t
-    pub const m_nPriority: usize = 0x1558; // int32_t
-    pub const m_bStartDisabled: usize = 0x155C; // bool
-    pub const m_nLightProbeSizeX: usize = 0x1560; // int32_t
-    pub const m_nLightProbeSizeY: usize = 0x1564; // int32_t
-    pub const m_nLightProbeSizeZ: usize = 0x1568; // int32_t
-    pub const m_nLightProbeAtlasX: usize = 0x156C; // int32_t
-    pub const m_nLightProbeAtlasY: usize = 0x1570; // int32_t
-    pub const m_nLightProbeAtlasZ: usize = 0x1574; // int32_t
-    pub const m_bEnabled: usize = 0x1581; // bool
-}
-
-pub mod C_EnvParticleGlow { // C_ParticleSystem
-    pub const m_flAlphaScale: usize = 0x1270; // float
-    pub const m_flRadiusScale: usize = 0x1274; // float
-    pub const m_flSelfIllumScale: usize = 0x1278; // float
-    pub const m_ColorTint: usize = 0x127C; // Color
-    pub const m_hTextureOverride: usize = 0x1280; // CStrongHandle<InfoForResourceTypeCTextureBase>
-}
-
-pub mod C_EnvProjectedTexture { // C_ModelPointEntity
-}
-
-pub mod C_EnvScreenOverlay { // C_PointEntity
-    pub const m_iszOverlayNames: usize = 0x540; // CUtlSymbolLarge[10]
-    pub const m_flOverlayTimes: usize = 0x590; // float[10]
-    pub const m_flStartTime: usize = 0x5B8; // GameTime_t
-    pub const m_iDesiredOverlay: usize = 0x5BC; // int32_t
-    pub const m_bIsActive: usize = 0x5C0; // bool
-    pub const m_bWasActive: usize = 0x5C1; // bool
-    pub const m_iCachedDesiredOverlay: usize = 0x5C4; // int32_t
-    pub const m_iCurrentOverlay: usize = 0x5C8; // int32_t
-    pub const m_flCurrentOverlayTime: usize = 0x5CC; // GameTime_t
-}
-
-pub mod C_EnvSky { // C_BaseModelEntity
-    pub const m_hSkyMaterial: usize = 0xCC0; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_hSkyMaterialLightingOnly: usize = 0xCC8; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_bStartDisabled: usize = 0xCD0; // bool
-    pub const m_vTintColor: usize = 0xCD1; // Color
-    pub const m_vTintColorLightingOnly: usize = 0xCD5; // Color
-    pub const m_flBrightnessScale: usize = 0xCDC; // float
-    pub const m_nFogType: usize = 0xCE0; // int32_t
-    pub const m_flFogMinStart: usize = 0xCE4; // float
-    pub const m_flFogMinEnd: usize = 0xCE8; // float
-    pub const m_flFogMaxStart: usize = 0xCEC; // float
-    pub const m_flFogMaxEnd: usize = 0xCF0; // float
-    pub const m_bEnabled: usize = 0xCF4; // bool
-}
-
-pub mod C_EnvVolumetricFogController { // C_BaseEntity
-    pub const m_flScattering: usize = 0x540; // float
-    pub const m_flAnisotropy: usize = 0x544; // float
-    pub const m_flFadeSpeed: usize = 0x548; // float
-    pub const m_flDrawDistance: usize = 0x54C; // float
-    pub const m_flFadeInStart: usize = 0x550; // float
-    pub const m_flFadeInEnd: usize = 0x554; // float
-    pub const m_flIndirectStrength: usize = 0x558; // float
-    pub const m_nIndirectTextureDimX: usize = 0x55C; // int32_t
-    pub const m_nIndirectTextureDimY: usize = 0x560; // int32_t
-    pub const m_nIndirectTextureDimZ: usize = 0x564; // int32_t
-    pub const m_vBoxMins: usize = 0x568; // Vector
-    pub const m_vBoxMaxs: usize = 0x574; // Vector
-    pub const m_bActive: usize = 0x580; // bool
-    pub const m_flStartAnisoTime: usize = 0x584; // GameTime_t
-    pub const m_flStartScatterTime: usize = 0x588; // GameTime_t
-    pub const m_flStartDrawDistanceTime: usize = 0x58C; // GameTime_t
-    pub const m_flStartAnisotropy: usize = 0x590; // float
-    pub const m_flStartScattering: usize = 0x594; // float
-    pub const m_flStartDrawDistance: usize = 0x598; // float
-    pub const m_flDefaultAnisotropy: usize = 0x59C; // float
-    pub const m_flDefaultScattering: usize = 0x5A0; // float
-    pub const m_flDefaultDrawDistance: usize = 0x5A4; // float
-    pub const m_bStartDisabled: usize = 0x5A8; // bool
-    pub const m_bEnableIndirect: usize = 0x5A9; // bool
-    pub const m_bIsMaster: usize = 0x5AA; // bool
-    pub const m_hFogIndirectTexture: usize = 0x5B0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_nForceRefreshCount: usize = 0x5B8; // int32_t
-    pub const m_bFirstTime: usize = 0x5BC; // bool
-}
-
-pub mod C_EnvVolumetricFogVolume { // C_BaseEntity
-    pub const m_bActive: usize = 0x540; // bool
-    pub const m_vBoxMins: usize = 0x544; // Vector
-    pub const m_vBoxMaxs: usize = 0x550; // Vector
-    pub const m_bStartDisabled: usize = 0x55C; // bool
-    pub const m_flStrength: usize = 0x560; // float
-    pub const m_nFalloffShape: usize = 0x564; // int32_t
-    pub const m_flFalloffExponent: usize = 0x568; // float
-}
-
-pub mod C_EnvWind { // C_BaseEntity
-    pub const m_EnvWindShared: usize = 0x540; // C_EnvWindShared
-}
-
-pub mod C_EnvWindClientside { // C_BaseEntity
-    pub const m_EnvWindShared: usize = 0x540; // C_EnvWindShared
-}
-
-pub mod C_EnvWindShared {
-    pub const m_flStartTime: usize = 0x8; // GameTime_t
-    pub const m_iWindSeed: usize = 0xC; // uint32_t
-    pub const m_iMinWind: usize = 0x10; // uint16_t
-    pub const m_iMaxWind: usize = 0x12; // uint16_t
-    pub const m_windRadius: usize = 0x14; // int32_t
-    pub const m_iMinGust: usize = 0x18; // uint16_t
-    pub const m_iMaxGust: usize = 0x1A; // uint16_t
-    pub const m_flMinGustDelay: usize = 0x1C; // float
-    pub const m_flMaxGustDelay: usize = 0x20; // float
-    pub const m_flGustDuration: usize = 0x24; // float
-    pub const m_iGustDirChange: usize = 0x28; // uint16_t
-    pub const m_location: usize = 0x2C; // Vector
-    pub const m_iszGustSound: usize = 0x38; // int32_t
-    pub const m_iWindDir: usize = 0x3C; // int32_t
-    pub const m_flWindSpeed: usize = 0x40; // float
-    pub const m_currentWindVector: usize = 0x44; // Vector
-    pub const m_CurrentSwayVector: usize = 0x50; // Vector
-    pub const m_PrevSwayVector: usize = 0x5C; // Vector
-    pub const m_iInitialWindDir: usize = 0x68; // uint16_t
-    pub const m_flInitialWindSpeed: usize = 0x6C; // float
-    pub const m_flVariationTime: usize = 0x70; // GameTime_t
-    pub const m_flSwayTime: usize = 0x74; // GameTime_t
-    pub const m_flSimTime: usize = 0x78; // GameTime_t
-    pub const m_flSwitchTime: usize = 0x7C; // GameTime_t
-    pub const m_flAveWindSpeed: usize = 0x80; // float
-    pub const m_bGusting: usize = 0x84; // bool
-    pub const m_flWindAngleVariation: usize = 0x88; // float
-    pub const m_flWindSpeedVariation: usize = 0x8C; // float
-    pub const m_iEntIndex: usize = 0x90; // CEntityIndex
-}
-
-pub mod C_EnvWindShared_WindAveEvent_t {
-    pub const m_flStartWindSpeed: usize = 0x0; // float
-    pub const m_flAveWindSpeed: usize = 0x4; // float
-}
-
-pub mod C_EnvWindShared_WindVariationEvent_t {
-    pub const m_flWindAngleVariation: usize = 0x0; // float
-    pub const m_flWindSpeedVariation: usize = 0x4; // float
-}
-
-pub mod C_FireCrackerBlast { // C_Inferno
-}
-
-pub mod C_FireFromAboveSprite { // C_Sprite
-}
-
-pub mod C_FireSmoke { // C_BaseFire
-    pub const m_nFlameModelIndex: usize = 0x550; // int32_t
-    pub const m_nFlameFromAboveModelIndex: usize = 0x554; // int32_t
-    pub const m_flScaleRegister: usize = 0x558; // float
-    pub const m_flScaleStart: usize = 0x55C; // float
-    pub const m_flScaleEnd: usize = 0x560; // float
-    pub const m_flScaleTimeStart: usize = 0x564; // GameTime_t
-    pub const m_flScaleTimeEnd: usize = 0x568; // GameTime_t
-    pub const m_flChildFlameSpread: usize = 0x56C; // float
-    pub const m_flClipPerc: usize = 0x580; // float
-    pub const m_bClipTested: usize = 0x584; // bool
-    pub const m_bFadingOut: usize = 0x585; // bool
-    pub const m_tParticleSpawn: usize = 0x588; // TimedEvent
-    pub const m_pFireOverlay: usize = 0x590; // CFireOverlay*
-}
-
-pub mod C_FireSprite { // C_Sprite
-    pub const m_vecMoveDir: usize = 0xDF0; // Vector
-    pub const m_bFadeFromAbove: usize = 0xDFC; // bool
-}
-
-pub mod C_Fish { // CBaseAnimGraph
-    pub const m_pos: usize = 0xE80; // Vector
-    pub const m_vel: usize = 0xE8C; // Vector
-    pub const m_angles: usize = 0xE98; // QAngle
-    pub const m_localLifeState: usize = 0xEA4; // int32_t
-    pub const m_deathDepth: usize = 0xEA8; // float
-    pub const m_deathAngle: usize = 0xEAC; // float
-    pub const m_buoyancy: usize = 0xEB0; // float
-    pub const m_wiggleTimer: usize = 0xEB8; // CountdownTimer
-    pub const m_wigglePhase: usize = 0xED0; // float
-    pub const m_wiggleRate: usize = 0xED4; // float
-    pub const m_actualPos: usize = 0xED8; // Vector
-    pub const m_actualAngles: usize = 0xEE4; // QAngle
-    pub const m_poolOrigin: usize = 0xEF0; // Vector
-    pub const m_waterLevel: usize = 0xEFC; // float
-    pub const m_gotUpdate: usize = 0xF00; // bool
-    pub const m_x: usize = 0xF04; // float
-    pub const m_y: usize = 0xF08; // float
-    pub const m_z: usize = 0xF0C; // float
-    pub const m_angle: usize = 0xF10; // float
-    pub const m_errorHistory: usize = 0xF14; // float[20]
-    pub const m_errorHistoryIndex: usize = 0xF64; // int32_t
-    pub const m_errorHistoryCount: usize = 0xF68; // int32_t
-    pub const m_averageError: usize = 0xF6C; // float
-}
-
-pub mod C_Fists { // C_CSWeaponBase
-    pub const m_bPlayingUninterruptableAct: usize = 0x1A10; // bool
-    pub const m_nUninterruptableActivity: usize = 0x1A14; // PlayerAnimEvent_t
-}
-
-pub mod C_Flashbang { // C_BaseCSGrenade
-}
-
-pub mod C_FlashbangProjectile { // C_BaseCSGrenadeProjectile
-}
-
-pub mod C_FogController { // C_BaseEntity
-    pub const m_fog: usize = 0x540; // fogparams_t
-    pub const m_bUseAngles: usize = 0x5A8; // bool
-    pub const m_iChangedVariables: usize = 0x5AC; // int32_t
-}
-
-pub mod C_FootstepControl { // C_BaseTrigger
-    pub const m_source: usize = 0xCC8; // CUtlSymbolLarge
-    pub const m_destination: usize = 0xCD0; // CUtlSymbolLarge
-}
-
-pub mod C_FuncBrush { // C_BaseModelEntity
-}
-
-pub mod C_FuncConveyor { // C_BaseModelEntity
-    pub const m_vecMoveDirEntitySpace: usize = 0xCC8; // Vector
-    pub const m_flTargetSpeed: usize = 0xCD4; // float
-    pub const m_nTransitionStartTick: usize = 0xCD8; // GameTick_t
-    pub const m_nTransitionDurationTicks: usize = 0xCDC; // int32_t
-    pub const m_flTransitionStartSpeed: usize = 0xCE0; // float
-    pub const m_hConveyorModels: usize = 0xCE8; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
-    pub const m_flCurrentConveyorOffset: usize = 0xD00; // float
-    pub const m_flCurrentConveyorSpeed: usize = 0xD04; // float
-}
-
-pub mod C_FuncElectrifiedVolume { // C_FuncBrush
-    pub const m_nAmbientEffect: usize = 0xCC0; // ParticleIndex_t
-    pub const m_EffectName: usize = 0xCC8; // CUtlSymbolLarge
-    pub const m_bState: usize = 0xCD0; // bool
-}
-
-pub mod C_FuncLadder { // C_BaseModelEntity
-    pub const m_vecLadderDir: usize = 0xCC0; // Vector
-    pub const m_Dismounts: usize = 0xCD0; // CUtlVector<CHandle<C_InfoLadderDismount>>
-    pub const m_vecLocalTop: usize = 0xCE8; // Vector
-    pub const m_vecPlayerMountPositionTop: usize = 0xCF4; // Vector
-    pub const m_vecPlayerMountPositionBottom: usize = 0xD00; // Vector
-    pub const m_flAutoRideSpeed: usize = 0xD0C; // float
-    pub const m_bDisabled: usize = 0xD10; // bool
-    pub const m_bFakeLadder: usize = 0xD11; // bool
-    pub const m_bHasSlack: usize = 0xD12; // bool
-}
-
-pub mod C_FuncMonitor { // C_FuncBrush
-    pub const m_targetCamera: usize = 0xCC0; // CUtlString
-    pub const m_nResolutionEnum: usize = 0xCC8; // int32_t
-    pub const m_bRenderShadows: usize = 0xCCC; // bool
-    pub const m_bUseUniqueColorTarget: usize = 0xCCD; // bool
-    pub const m_brushModelName: usize = 0xCD0; // CUtlString
-    pub const m_hTargetCamera: usize = 0xCD8; // CHandle<C_BaseEntity>
-    pub const m_bEnabled: usize = 0xCDC; // bool
-    pub const m_bDraw3DSkybox: usize = 0xCDD; // bool
-}
-
-pub mod C_FuncMoveLinear { // C_BaseToggle
-}
-
-pub mod C_FuncRotating { // C_BaseModelEntity
-}
-
-pub mod C_FuncTrackTrain { // C_BaseModelEntity
-    pub const m_nLongAxis: usize = 0xCC0; // int32_t
-    pub const m_flRadius: usize = 0xCC4; // float
-    pub const m_flLineLength: usize = 0xCC8; // float
-}
-
-pub mod C_GameRules {
-}
-
-pub mod C_GameRulesProxy { // C_BaseEntity
-}
-
-pub mod C_GlobalLight { // C_BaseEntity
-    pub const m_WindClothForceHandle: usize = 0xA00; // uint16_t
-}
-
-pub mod C_GradientFog { // C_BaseEntity
-    pub const m_hGradientFogTexture: usize = 0x540; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_flFogStartDistance: usize = 0x548; // float
-    pub const m_flFogEndDistance: usize = 0x54C; // float
-    pub const m_bHeightFogEnabled: usize = 0x550; // bool
-    pub const m_flFogStartHeight: usize = 0x554; // float
-    pub const m_flFogEndHeight: usize = 0x558; // float
-    pub const m_flFarZ: usize = 0x55C; // float
-    pub const m_flFogMaxOpacity: usize = 0x560; // float
-    pub const m_flFogFalloffExponent: usize = 0x564; // float
-    pub const m_flFogVerticalExponent: usize = 0x568; // float
-    pub const m_fogColor: usize = 0x56C; // Color
-    pub const m_flFogStrength: usize = 0x570; // float
-    pub const m_flFadeTime: usize = 0x574; // float
-    pub const m_bStartDisabled: usize = 0x578; // bool
-    pub const m_bIsEnabled: usize = 0x579; // bool
-    pub const m_bGradientFogNeedsTextures: usize = 0x57A; // bool
-}
-
-pub mod C_HEGrenade { // C_BaseCSGrenade
-}
-
-pub mod C_HEGrenadeProjectile { // C_BaseCSGrenadeProjectile
-}
-
-pub mod C_HandleTest { // C_BaseEntity
-    pub const m_Handle: usize = 0x540; // CHandle<C_BaseEntity>
-    pub const m_bSendHandle: usize = 0x544; // bool
-}
-
-pub mod C_Hostage { // C_BaseCombatCharacter
-    pub const m_entitySpottedState: usize = 0x10A8; // EntitySpottedState_t
-    pub const m_leader: usize = 0x10C0; // CHandle<C_BaseEntity>
-    pub const m_reuseTimer: usize = 0x10C8; // CountdownTimer
-    pub const m_vel: usize = 0x10E0; // Vector
-    pub const m_isRescued: usize = 0x10EC; // bool
-    pub const m_jumpedThisFrame: usize = 0x10ED; // bool
-    pub const m_nHostageState: usize = 0x10F0; // int32_t
-    pub const m_bHandsHaveBeenCut: usize = 0x10F4; // bool
-    pub const m_hHostageGrabber: usize = 0x10F8; // CHandle<C_CSPlayerPawn>
-    pub const m_fLastGrabTime: usize = 0x10FC; // GameTime_t
-    pub const m_vecGrabbedPos: usize = 0x1100; // Vector
-    pub const m_flRescueStartTime: usize = 0x110C; // GameTime_t
-    pub const m_flGrabSuccessTime: usize = 0x1110; // GameTime_t
-    pub const m_flDropStartTime: usize = 0x1114; // GameTime_t
-    pub const m_flDeadOrRescuedTime: usize = 0x1118; // GameTime_t
-    pub const m_blinkTimer: usize = 0x1120; // CountdownTimer
-    pub const m_lookAt: usize = 0x1138; // Vector
-    pub const m_lookAroundTimer: usize = 0x1148; // CountdownTimer
-    pub const m_isInit: usize = 0x1160; // bool
-    pub const m_eyeAttachment: usize = 0x1161; // AttachmentHandle_t
-    pub const m_chestAttachment: usize = 0x1162; // AttachmentHandle_t
-    pub const m_pPredictionOwner: usize = 0x1168; // CBasePlayerController*
-    pub const m_fNewestAlphaThinkTime: usize = 0x1170; // GameTime_t
-}
-
-pub mod C_HostageCarriableProp { // CBaseAnimGraph
-}
-
-pub mod C_IncendiaryGrenade { // C_MolotovGrenade
-}
-
-pub mod C_Inferno { // C_BaseModelEntity
-    pub const m_nfxFireDamageEffect: usize = 0xD00; // ParticleIndex_t
-    pub const m_firePositions: usize = 0xD04; // Vector[64]
-    pub const m_fireParentPositions: usize = 0x1004; // Vector[64]
-    pub const m_bFireIsBurning: usize = 0x1304; // bool[64]
-    pub const m_BurnNormal: usize = 0x1344; // Vector[64]
-    pub const m_fireCount: usize = 0x1644; // int32_t
-    pub const m_nInfernoType: usize = 0x1648; // int32_t
-    pub const m_nFireLifetime: usize = 0x164C; // float
-    pub const m_bInPostEffectTime: usize = 0x1650; // bool
-    pub const m_lastFireCount: usize = 0x1654; // int32_t
-    pub const m_nFireEffectTickBegin: usize = 0x1658; // int32_t
-    pub const m_drawableCount: usize = 0x8260; // int32_t
-    pub const m_blosCheck: usize = 0x8264; // bool
-    pub const m_nlosperiod: usize = 0x8268; // int32_t
-    pub const m_maxFireHalfWidth: usize = 0x826C; // float
-    pub const m_maxFireHeight: usize = 0x8270; // float
-    pub const m_minBounds: usize = 0x8274; // Vector
-    pub const m_maxBounds: usize = 0x8280; // Vector
-    pub const m_flLastGrassBurnThink: usize = 0x828C; // float
-}
-
-pub mod C_InfoInstructorHintHostageRescueZone { // C_PointEntity
-}
-
-pub mod C_InfoLadderDismount { // C_BaseEntity
-}
-
-pub mod C_InfoVisibilityBox { // C_BaseEntity
-    pub const m_nMode: usize = 0x544; // int32_t
-    pub const m_vBoxSize: usize = 0x548; // Vector
-    pub const m_bEnabled: usize = 0x554; // bool
-}
-
-pub mod C_IronSightController {
-    pub const m_bIronSightAvailable: usize = 0x10; // bool
-    pub const m_flIronSightAmount: usize = 0x14; // float
-    pub const m_flIronSightAmountGained: usize = 0x18; // float
-    pub const m_flIronSightAmountBiased: usize = 0x1C; // float
-    pub const m_flIronSightAmount_Interpolated: usize = 0x20; // float
-    pub const m_flIronSightAmountGained_Interpolated: usize = 0x24; // float
-    pub const m_flIronSightAmountBiased_Interpolated: usize = 0x28; // float
-    pub const m_flInterpolationLastUpdated: usize = 0x2C; // float
-    pub const m_angDeltaAverage: usize = 0x30; // QAngle[8]
-    pub const m_angViewLast: usize = 0x90; // QAngle
-    pub const m_vecDotCoords: usize = 0x9C; // Vector2D
-    pub const m_flDotBlur: usize = 0xA4; // float
-    pub const m_flSpeedRatio: usize = 0xA8; // float
-}
-
-pub mod C_Item { // C_EconEntity
-    pub const m_bShouldGlow: usize = 0x1560; // bool
-    pub const m_pReticleHintTextName: usize = 0x1561; // char[256]
-}
-
-pub mod C_ItemDogtags { // C_Item
-    pub const m_OwningPlayer: usize = 0x1668; // CHandle<C_CSPlayerPawn>
-    pub const m_KillingPlayer: usize = 0x166C; // CHandle<C_CSPlayerPawn>
-}
-
-pub mod C_Item_Healthshot { // C_WeaponBaseItem
-}
-
-pub mod C_Knife { // C_CSWeaponBase
-}
-
-pub mod C_LightDirectionalEntity { // C_LightEntity
-}
-
-pub mod C_LightEntity { // C_BaseModelEntity
-    pub const m_CLightComponent: usize = 0xCC0; // CLightComponent*
-}
-
-pub mod C_LightEnvironmentEntity { // C_LightDirectionalEntity
-}
-
-pub mod C_LightGlow { // C_BaseModelEntity
-    pub const m_nHorizontalSize: usize = 0xCC0; // uint32_t
-    pub const m_nVerticalSize: usize = 0xCC4; // uint32_t
-    pub const m_nMinDist: usize = 0xCC8; // uint32_t
-    pub const m_nMaxDist: usize = 0xCCC; // uint32_t
-    pub const m_nOuterMaxDist: usize = 0xCD0; // uint32_t
-    pub const m_flGlowProxySize: usize = 0xCD4; // float
-    pub const m_flHDRColorScale: usize = 0xCD8; // float
-    pub const m_Glow: usize = 0xCE0; // C_LightGlowOverlay
-}
-
-pub mod C_LightGlowOverlay { // CGlowOverlay
-    pub const m_vecOrigin: usize = 0xD0; // Vector
-    pub const m_vecDirection: usize = 0xDC; // Vector
-    pub const m_nMinDist: usize = 0xE8; // int32_t
-    pub const m_nMaxDist: usize = 0xEC; // int32_t
-    pub const m_nOuterMaxDist: usize = 0xF0; // int32_t
-    pub const m_bOneSided: usize = 0xF4; // bool
-    pub const m_bModulateByDot: usize = 0xF5; // bool
-}
-
-pub mod C_LightOrthoEntity { // C_LightEntity
-}
-
-pub mod C_LightSpotEntity { // C_LightEntity
-}
-
-pub mod C_LocalTempEntity { // CBaseAnimGraph
-    pub const flags: usize = 0xE98; // int32_t
-    pub const die: usize = 0xE9C; // GameTime_t
-    pub const m_flFrameMax: usize = 0xEA0; // float
-    pub const x: usize = 0xEA4; // float
-    pub const y: usize = 0xEA8; // float
-    pub const fadeSpeed: usize = 0xEAC; // float
-    pub const bounceFactor: usize = 0xEB0; // float
-    pub const hitSound: usize = 0xEB4; // int32_t
-    pub const priority: usize = 0xEB8; // int32_t
-    pub const tentOffset: usize = 0xEBC; // Vector
-    pub const m_vecTempEntAngVelocity: usize = 0xEC8; // QAngle
-    pub const tempent_renderamt: usize = 0xED4; // int32_t
-    pub const m_vecNormal: usize = 0xED8; // Vector
-    pub const m_flSpriteScale: usize = 0xEE4; // float
-    pub const m_nFlickerFrame: usize = 0xEE8; // int32_t
-    pub const m_flFrameRate: usize = 0xEEC; // float
-    pub const m_flFrame: usize = 0xEF0; // float
-    pub const m_pszImpactEffect: usize = 0xEF8; // char*
-    pub const m_pszParticleEffect: usize = 0xF00; // char*
-    pub const m_bParticleCollision: usize = 0xF08; // bool
-    pub const m_iLastCollisionFrame: usize = 0xF0C; // int32_t
-    pub const m_vLastCollisionOrigin: usize = 0xF10; // Vector
-    pub const m_vecTempEntVelocity: usize = 0xF1C; // Vector
-    pub const m_vecPrevAbsOrigin: usize = 0xF28; // Vector
-    pub const m_vecTempEntAcceleration: usize = 0xF34; // Vector
-}
-
-pub mod C_MapPreviewParticleSystem { // C_ParticleSystem
-}
-
-pub mod C_MapVetoPickController { // C_BaseEntity
-    pub const m_nDraftType: usize = 0x550; // int32_t
-    pub const m_nTeamWinningCoinToss: usize = 0x554; // int32_t
-    pub const m_nTeamWithFirstChoice: usize = 0x558; // int32_t[64]
-    pub const m_nVoteMapIdsList: usize = 0x658; // int32_t[7]
-    pub const m_nAccountIDs: usize = 0x674; // int32_t[64]
-    pub const m_nMapId0: usize = 0x774; // int32_t[64]
-    pub const m_nMapId1: usize = 0x874; // int32_t[64]
-    pub const m_nMapId2: usize = 0x974; // int32_t[64]
-    pub const m_nMapId3: usize = 0xA74; // int32_t[64]
-    pub const m_nMapId4: usize = 0xB74; // int32_t[64]
-    pub const m_nMapId5: usize = 0xC74; // int32_t[64]
-    pub const m_nStartingSide0: usize = 0xD74; // int32_t[64]
-    pub const m_nCurrentPhase: usize = 0xE74; // int32_t
-    pub const m_nPhaseStartTick: usize = 0xE78; // int32_t
-    pub const m_nPhaseDurationTicks: usize = 0xE7C; // int32_t
-    pub const m_nPostDataUpdateTick: usize = 0xE80; // int32_t
-    pub const m_bDisabledHud: usize = 0xE84; // bool
-}
-
-pub mod C_Melee { // C_CSWeaponBase
-}
-
-pub mod C_ModelPointEntity { // C_BaseModelEntity
-}
-
-pub mod C_MolotovGrenade { // C_BaseCSGrenade
-}
-
-pub mod C_MolotovProjectile { // C_BaseCSGrenadeProjectile
-    pub const m_bIsIncGrenade: usize = 0x1100; // bool
-}
-
-pub mod C_Multimeter { // CBaseAnimGraph
-    pub const m_hTargetC4: usize = 0xE88; // CHandle<C_PlantedC4>
-}
-
-pub mod C_MultiplayRules { // C_GameRules
-}
-
-pub mod C_NetTestBaseCombatCharacter { // C_BaseCombatCharacter
-}
-
-pub mod C_OmniLight { // C_BarnLight
-    pub const m_flInnerAngle: usize = 0xF08; // float
-    pub const m_flOuterAngle: usize = 0xF0C; // float
-    pub const m_bShowLight: usize = 0xF10; // bool
-}
-
-pub mod C_ParticleSystem { // C_BaseModelEntity
-    pub const m_szSnapshotFileName: usize = 0xCC0; // char[512]
-    pub const m_bActive: usize = 0xEC0; // bool
-    pub const m_bFrozen: usize = 0xEC1; // bool
-    pub const m_flFreezeTransitionDuration: usize = 0xEC4; // float
-    pub const m_nStopType: usize = 0xEC8; // int32_t
-    pub const m_bAnimateDuringGameplayPause: usize = 0xECC; // bool
-    pub const m_iEffectIndex: usize = 0xED0; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
-    pub const m_flStartTime: usize = 0xED8; // GameTime_t
-    pub const m_flPreSimTime: usize = 0xEDC; // float
-    pub const m_vServerControlPoints: usize = 0xEE0; // Vector[4]
-    pub const m_iServerControlPointAssignments: usize = 0xF10; // uint8_t[4]
-    pub const m_hControlPointEnts: usize = 0xF14; // CHandle<C_BaseEntity>[64]
-    pub const m_bNoSave: usize = 0x1014; // bool
-    pub const m_bNoFreeze: usize = 0x1015; // bool
-    pub const m_bNoRamp: usize = 0x1016; // bool
-    pub const m_bStartActive: usize = 0x1017; // bool
-    pub const m_iszEffectName: usize = 0x1018; // CUtlSymbolLarge
-    pub const m_iszControlPointNames: usize = 0x1020; // CUtlSymbolLarge[64]
-    pub const m_nDataCP: usize = 0x1220; // int32_t
-    pub const m_vecDataCPValue: usize = 0x1224; // Vector
-    pub const m_nTintCP: usize = 0x1230; // int32_t
-    pub const m_clrTint: usize = 0x1234; // Color
-    pub const m_bOldActive: usize = 0x1258; // bool
-    pub const m_bOldFrozen: usize = 0x1259; // bool
-}
-
-pub mod C_PathParticleRope { // C_BaseEntity
-    pub const m_bStartActive: usize = 0x540; // bool
-    pub const m_flMaxSimulationTime: usize = 0x544; // float
-    pub const m_iszEffectName: usize = 0x548; // CUtlSymbolLarge
-    pub const m_PathNodes_Name: usize = 0x550; // CUtlVector<CUtlSymbolLarge>
-    pub const m_flParticleSpacing: usize = 0x568; // float
-    pub const m_flSlack: usize = 0x56C; // float
-    pub const m_flRadius: usize = 0x570; // float
-    pub const m_ColorTint: usize = 0x574; // Color
-    pub const m_nEffectState: usize = 0x578; // int32_t
-    pub const m_iEffectIndex: usize = 0x580; // CStrongHandle<InfoForResourceTypeIParticleSystemDefinition>
-    pub const m_PathNodes_Position: usize = 0x588; // C_NetworkUtlVectorBase<Vector>
-    pub const m_PathNodes_TangentIn: usize = 0x5A0; // C_NetworkUtlVectorBase<Vector>
-    pub const m_PathNodes_TangentOut: usize = 0x5B8; // C_NetworkUtlVectorBase<Vector>
-    pub const m_PathNodes_Color: usize = 0x5D0; // C_NetworkUtlVectorBase<Vector>
-    pub const m_PathNodes_PinEnabled: usize = 0x5E8; // C_NetworkUtlVectorBase<bool>
-    pub const m_PathNodes_RadiusScale: usize = 0x600; // C_NetworkUtlVectorBase<float>
-}
-
-pub mod C_PathParticleRopeAlias_path_particle_rope_clientside { // C_PathParticleRope
-}
-
-pub mod C_PhysBox { // C_Breakable
-}
-
-pub mod C_PhysMagnet { // CBaseAnimGraph
-    pub const m_aAttachedObjectsFromServer: usize = 0xE80; // CUtlVector<int32_t>
-    pub const m_aAttachedObjects: usize = 0xE98; // CUtlVector<CHandle<C_BaseEntity>>
-}
-
-pub mod C_PhysPropClientside { // C_BreakableProp
-    pub const m_flTouchDelta: usize = 0xFD0; // GameTime_t
-    pub const m_fDeathTime: usize = 0xFD4; // GameTime_t
-    pub const m_impactEnergyScale: usize = 0xFD8; // float
-    pub const m_inertiaScale: usize = 0xFDC; // float
-    pub const m_flDmgModBullet: usize = 0xFE0; // float
-    pub const m_flDmgModClub: usize = 0xFE4; // float
-    pub const m_flDmgModExplosive: usize = 0xFE8; // float
-    pub const m_flDmgModFire: usize = 0xFEC; // float
-    pub const m_iszPhysicsDamageTableName: usize = 0xFF0; // CUtlSymbolLarge
-    pub const m_iszBasePropData: usize = 0xFF8; // CUtlSymbolLarge
-    pub const m_iInteractions: usize = 0x1000; // int32_t
-    pub const m_bHasBreakPiecesOrCommands: usize = 0x1004; // bool
-    pub const m_vecDamagePosition: usize = 0x1008; // Vector
-    pub const m_vecDamageDirection: usize = 0x1014; // Vector
-    pub const m_nDamageType: usize = 0x1020; // int32_t
-}
-
-pub mod C_PhysicsProp { // C_BreakableProp
-    pub const m_bAwake: usize = 0xFD0; // bool
-}
-
-pub mod C_PhysicsPropMultiplayer { // C_PhysicsProp
-}
-
-pub mod C_PickUpModelSlerper { // CBaseAnimGraph
-    pub const m_hPlayerParent: usize = 0xE80; // CHandle<C_BaseEntity>
-    pub const m_hItem: usize = 0xE84; // CHandle<C_BaseEntity>
-    pub const m_flTimePickedUp: usize = 0xE88; // float
-    pub const m_angOriginal: usize = 0xE8C; // QAngle
-    pub const m_vecPosOriginal: usize = 0xE98; // Vector
-    pub const m_angRandom: usize = 0xEA8; // QAngle
-}
-
-pub mod C_PlantedC4 { // CBaseAnimGraph
-    pub const m_bBombTicking: usize = 0xE80; // bool
-    pub const m_nBombSite: usize = 0xE84; // int32_t
-    pub const m_nSourceSoundscapeHash: usize = 0xE88; // int32_t
-    pub const m_entitySpottedState: usize = 0xE90; // EntitySpottedState_t
-    pub const m_flNextGlow: usize = 0xEA8; // GameTime_t
-    pub const m_flNextBeep: usize = 0xEAC; // GameTime_t
-    pub const m_flC4Blow: usize = 0xEB0; // GameTime_t
-    pub const m_bCannotBeDefused: usize = 0xEB4; // bool
-    pub const m_bHasExploded: usize = 0xEB5; // bool
-    pub const m_flTimerLength: usize = 0xEB8; // float
-    pub const m_bBeingDefused: usize = 0xEBC; // bool
-    pub const m_bTriggerWarning: usize = 0xEC0; // float
-    pub const m_bExplodeWarning: usize = 0xEC4; // float
-    pub const m_bC4Activated: usize = 0xEC8; // bool
-    pub const m_bTenSecWarning: usize = 0xEC9; // bool
-    pub const m_flDefuseLength: usize = 0xECC; // float
-    pub const m_flDefuseCountDown: usize = 0xED0; // GameTime_t
-    pub const m_bBombDefused: usize = 0xED4; // bool
-    pub const m_hBombDefuser: usize = 0xED8; // CHandle<C_CSPlayerPawn>
-    pub const m_hControlPanel: usize = 0xEDC; // CHandle<C_BaseEntity>
-    pub const m_hDefuserMultimeter: usize = 0xEE0; // CHandle<C_Multimeter>
-    pub const m_flNextRadarFlashTime: usize = 0xEE4; // GameTime_t
-    pub const m_bRadarFlash: usize = 0xEE8; // bool
-    pub const m_pBombDefuser: usize = 0xEEC; // CHandle<C_CSPlayerPawn>
-    pub const m_fLastDefuseTime: usize = 0xEF0; // GameTime_t
-    pub const m_pPredictionOwner: usize = 0xEF8; // CBasePlayerController*
-}
-
-pub mod C_PlayerPing { // C_BaseEntity
-    pub const m_hPlayer: usize = 0x570; // CHandle<C_CSPlayerPawn>
-    pub const m_hPingedEntity: usize = 0x574; // CHandle<C_BaseEntity>
-    pub const m_iType: usize = 0x578; // int32_t
-    pub const m_bUrgent: usize = 0x57C; // bool
-    pub const m_szPlaceName: usize = 0x57D; // char[18]
-}
-
-pub mod C_PlayerSprayDecal { // C_ModelPointEntity
-    pub const m_nUniqueID: usize = 0xCC0; // int32_t
-    pub const m_unAccountID: usize = 0xCC4; // uint32_t
-    pub const m_unTraceID: usize = 0xCC8; // uint32_t
-    pub const m_rtGcTime: usize = 0xCCC; // uint32_t
-    pub const m_vecEndPos: usize = 0xCD0; // Vector
-    pub const m_vecStart: usize = 0xCDC; // Vector
-    pub const m_vecLeft: usize = 0xCE8; // Vector
-    pub const m_vecNormal: usize = 0xCF4; // Vector
-    pub const m_nPlayer: usize = 0xD00; // int32_t
-    pub const m_nEntity: usize = 0xD04; // int32_t
-    pub const m_nHitbox: usize = 0xD08; // int32_t
-    pub const m_flCreationTime: usize = 0xD0C; // float
-    pub const m_nTintID: usize = 0xD10; // int32_t
-    pub const m_nVersion: usize = 0xD14; // uint8_t
-    pub const m_ubSignature: usize = 0xD15; // uint8_t[128]
-    pub const m_SprayRenderHelper: usize = 0xDA0; // CPlayerSprayDecalRenderHelper
-}
-
-pub mod C_PlayerVisibility { // C_BaseEntity
-    pub const m_flVisibilityStrength: usize = 0x540; // float
-    pub const m_flFogDistanceMultiplier: usize = 0x544; // float
-    pub const m_flFogMaxDensityMultiplier: usize = 0x548; // float
-    pub const m_flFadeTime: usize = 0x54C; // float
-    pub const m_bStartDisabled: usize = 0x550; // bool
-    pub const m_bIsEnabled: usize = 0x551; // bool
-}
-
-pub mod C_PointCamera { // C_BaseEntity
-    pub const m_FOV: usize = 0x540; // float
-    pub const m_Resolution: usize = 0x544; // float
-    pub const m_bFogEnable: usize = 0x548; // bool
-    pub const m_FogColor: usize = 0x549; // Color
-    pub const m_flFogStart: usize = 0x550; // float
-    pub const m_flFogEnd: usize = 0x554; // float
-    pub const m_flFogMaxDensity: usize = 0x558; // float
-    pub const m_bActive: usize = 0x55C; // bool
-    pub const m_bUseScreenAspectRatio: usize = 0x55D; // bool
-    pub const m_flAspectRatio: usize = 0x560; // float
-    pub const m_bNoSky: usize = 0x564; // bool
-    pub const m_fBrightness: usize = 0x568; // float
-    pub const m_flZFar: usize = 0x56C; // float
-    pub const m_flZNear: usize = 0x570; // float
-    pub const m_bCanHLTVUse: usize = 0x574; // bool
-    pub const m_bDofEnabled: usize = 0x575; // bool
-    pub const m_flDofNearBlurry: usize = 0x578; // float
-    pub const m_flDofNearCrisp: usize = 0x57C; // float
-    pub const m_flDofFarCrisp: usize = 0x580; // float
-    pub const m_flDofFarBlurry: usize = 0x584; // float
-    pub const m_flDofTiltToGround: usize = 0x588; // float
-    pub const m_TargetFOV: usize = 0x58C; // float
-    pub const m_DegreesPerSecond: usize = 0x590; // float
-    pub const m_bIsOn: usize = 0x594; // bool
-    pub const m_pNext: usize = 0x598; // C_PointCamera*
-}
-
-pub mod C_PointCameraVFOV { // C_PointCamera
-    pub const m_flVerticalFOV: usize = 0x5A0; // float
-}
-
-pub mod C_PointClientUIDialog { // C_BaseClientUIEntity
-    pub const m_hActivator: usize = 0xCF0; // CHandle<C_BaseEntity>
-    pub const m_bStartEnabled: usize = 0xCF4; // bool
-}
-
-pub mod C_PointClientUIHUD { // C_BaseClientUIEntity
-    pub const m_bCheckCSSClasses: usize = 0xCF8; // bool
-    pub const m_bIgnoreInput: usize = 0xE80; // bool
-    pub const m_flWidth: usize = 0xE84; // float
-    pub const m_flHeight: usize = 0xE88; // float
-    pub const m_flDPI: usize = 0xE8C; // float
-    pub const m_flInteractDistance: usize = 0xE90; // float
-    pub const m_flDepthOffset: usize = 0xE94; // float
-    pub const m_unOwnerContext: usize = 0xE98; // uint32_t
-    pub const m_unHorizontalAlign: usize = 0xE9C; // uint32_t
-    pub const m_unVerticalAlign: usize = 0xEA0; // uint32_t
-    pub const m_unOrientation: usize = 0xEA4; // uint32_t
-    pub const m_bAllowInteractionFromAllSceneWorlds: usize = 0xEA8; // bool
-    pub const m_vecCSSClasses: usize = 0xEB0; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
-}
-
-pub mod C_PointClientUIWorldPanel { // C_BaseClientUIEntity
-    pub const m_bForceRecreateNextUpdate: usize = 0xCF8; // bool
-    pub const m_bMoveViewToPlayerNextThink: usize = 0xCF9; // bool
-    pub const m_bCheckCSSClasses: usize = 0xCFA; // bool
-    pub const m_anchorDeltaTransform: usize = 0xD00; // CTransform
-    pub const m_pOffScreenIndicator: usize = 0xEA0; // CPointOffScreenIndicatorUi*
-    pub const m_bIgnoreInput: usize = 0xEC8; // bool
-    pub const m_bLit: usize = 0xEC9; // bool
-    pub const m_bFollowPlayerAcrossTeleport: usize = 0xECA; // bool
-    pub const m_flWidth: usize = 0xECC; // float
-    pub const m_flHeight: usize = 0xED0; // float
-    pub const m_flDPI: usize = 0xED4; // float
-    pub const m_flInteractDistance: usize = 0xED8; // float
-    pub const m_flDepthOffset: usize = 0xEDC; // float
-    pub const m_unOwnerContext: usize = 0xEE0; // uint32_t
-    pub const m_unHorizontalAlign: usize = 0xEE4; // uint32_t
-    pub const m_unVerticalAlign: usize = 0xEE8; // uint32_t
-    pub const m_unOrientation: usize = 0xEEC; // uint32_t
-    pub const m_bAllowInteractionFromAllSceneWorlds: usize = 0xEF0; // bool
-    pub const m_vecCSSClasses: usize = 0xEF8; // C_NetworkUtlVectorBase<CUtlSymbolLarge>
-    pub const m_bOpaque: usize = 0xF10; // bool
-    pub const m_bNoDepth: usize = 0xF11; // bool
-    pub const m_bRenderBackface: usize = 0xF12; // bool
-    pub const m_bUseOffScreenIndicator: usize = 0xF13; // bool
-    pub const m_bExcludeFromSaveGames: usize = 0xF14; // bool
-    pub const m_bGrabbable: usize = 0xF15; // bool
-    pub const m_bOnlyRenderToTexture: usize = 0xF16; // bool
-    pub const m_bDisableMipGen: usize = 0xF17; // bool
-    pub const m_nExplicitImageLayout: usize = 0xF18; // int32_t
-}
-
-pub mod C_PointClientUIWorldTextPanel { // C_PointClientUIWorldPanel
-    pub const m_messageText: usize = 0xF20; // char[512]
-}
-
-pub mod C_PointCommentaryNode { // CBaseAnimGraph
-    pub const m_bActive: usize = 0xE88; // bool
-    pub const m_bWasActive: usize = 0xE89; // bool
-    pub const m_flEndTime: usize = 0xE8C; // GameTime_t
-    pub const m_flStartTime: usize = 0xE90; // GameTime_t
-    pub const m_flStartTimeInCommentary: usize = 0xE94; // float
-    pub const m_iszCommentaryFile: usize = 0xE98; // CUtlSymbolLarge
-    pub const m_iszTitle: usize = 0xEA0; // CUtlSymbolLarge
-    pub const m_iszSpeakers: usize = 0xEA8; // CUtlSymbolLarge
-    pub const m_iNodeNumber: usize = 0xEB0; // int32_t
-    pub const m_iNodeNumberMax: usize = 0xEB4; // int32_t
-    pub const m_bListenedTo: usize = 0xEB8; // bool
-    pub const m_hViewPosition: usize = 0xEC8; // CHandle<C_BaseEntity>
-    pub const m_bRestartAfterRestore: usize = 0xECC; // bool
-}
-
-pub mod C_PointEntity { // C_BaseEntity
-}
-
-pub mod C_PointValueRemapper { // C_BaseEntity
-    pub const m_bDisabled: usize = 0x540; // bool
-    pub const m_bDisabledOld: usize = 0x541; // bool
-    pub const m_bUpdateOnClient: usize = 0x542; // bool
-    pub const m_nInputType: usize = 0x544; // ValueRemapperInputType_t
-    pub const m_hRemapLineStart: usize = 0x548; // CHandle<C_BaseEntity>
-    pub const m_hRemapLineEnd: usize = 0x54C; // CHandle<C_BaseEntity>
-    pub const m_flMaximumChangePerSecond: usize = 0x550; // float
-    pub const m_flDisengageDistance: usize = 0x554; // float
-    pub const m_flEngageDistance: usize = 0x558; // float
-    pub const m_bRequiresUseKey: usize = 0x55C; // bool
-    pub const m_nOutputType: usize = 0x560; // ValueRemapperOutputType_t
-    pub const m_hOutputEntities: usize = 0x568; // C_NetworkUtlVectorBase<CHandle<C_BaseEntity>>
-    pub const m_nHapticsType: usize = 0x580; // ValueRemapperHapticsType_t
-    pub const m_nMomentumType: usize = 0x584; // ValueRemapperMomentumType_t
-    pub const m_flMomentumModifier: usize = 0x588; // float
-    pub const m_flSnapValue: usize = 0x58C; // float
-    pub const m_flCurrentMomentum: usize = 0x590; // float
-    pub const m_nRatchetType: usize = 0x594; // ValueRemapperRatchetType_t
-    pub const m_flRatchetOffset: usize = 0x598; // float
-    pub const m_flInputOffset: usize = 0x59C; // float
-    pub const m_bEngaged: usize = 0x5A0; // bool
-    pub const m_bFirstUpdate: usize = 0x5A1; // bool
-    pub const m_flPreviousValue: usize = 0x5A4; // float
-    pub const m_flPreviousUpdateTickTime: usize = 0x5A8; // GameTime_t
-    pub const m_vecPreviousTestPoint: usize = 0x5AC; // Vector
-}
-
-pub mod C_PointWorldText { // C_ModelPointEntity
-    pub const m_bForceRecreateNextUpdate: usize = 0xCC8; // bool
-    pub const m_messageText: usize = 0xCD8; // char[512]
-    pub const m_FontName: usize = 0xED8; // char[64]
-    pub const m_bEnabled: usize = 0xF18; // bool
-    pub const m_bFullbright: usize = 0xF19; // bool
-    pub const m_flWorldUnitsPerPx: usize = 0xF1C; // float
-    pub const m_flFontSize: usize = 0xF20; // float
-    pub const m_flDepthOffset: usize = 0xF24; // float
-    pub const m_Color: usize = 0xF28; // Color
-    pub const m_nJustifyHorizontal: usize = 0xF2C; // PointWorldTextJustifyHorizontal_t
-    pub const m_nJustifyVertical: usize = 0xF30; // PointWorldTextJustifyVertical_t
-    pub const m_nReorientMode: usize = 0xF34; // PointWorldTextReorientMode_t
-}
-
-pub mod C_PostProcessingVolume { // C_BaseTrigger
-    pub const m_hPostSettings: usize = 0xCD8; // CStrongHandle<InfoForResourceTypeCPostProcessingResource>
-    pub const m_flFadeDuration: usize = 0xCE0; // float
-    pub const m_flMinLogExposure: usize = 0xCE4; // float
-    pub const m_flMaxLogExposure: usize = 0xCE8; // float
-    pub const m_flMinExposure: usize = 0xCEC; // float
-    pub const m_flMaxExposure: usize = 0xCF0; // float
-    pub const m_flExposureCompensation: usize = 0xCF4; // float
-    pub const m_flExposureFadeSpeedUp: usize = 0xCF8; // float
-    pub const m_flExposureFadeSpeedDown: usize = 0xCFC; // float
-    pub const m_flTonemapEVSmoothingRange: usize = 0xD00; // float
-    pub const m_bMaster: usize = 0xD04; // bool
-    pub const m_bExposureControl: usize = 0xD05; // bool
-    pub const m_flRate: usize = 0xD08; // float
-    pub const m_flTonemapPercentTarget: usize = 0xD0C; // float
-    pub const m_flTonemapPercentBrightPixels: usize = 0xD10; // float
-    pub const m_flTonemapMinAvgLum: usize = 0xD14; // float
-}
-
-pub mod C_Precipitation { // C_BaseTrigger
-    pub const m_flDensity: usize = 0xCC8; // float
-    pub const m_flParticleInnerDist: usize = 0xCD8; // float
-    pub const m_pParticleDef: usize = 0xCE0; // char*
-    pub const m_tParticlePrecipTraceTimer: usize = 0xD08; // TimedEvent[1]
-    pub const m_bActiveParticlePrecipEmitter: usize = 0xD10; // bool[1]
-    pub const m_bParticlePrecipInitialized: usize = 0xD11; // bool
-    pub const m_bHasSimulatedSinceLastSceneObjectUpdate: usize = 0xD12; // bool
-    pub const m_nAvailableSheetSequencesMaxIndex: usize = 0xD14; // int32_t
-}
-
-pub mod C_PrecipitationBlocker { // C_BaseModelEntity
-}
-
-pub mod C_PredictedViewModel { // C_BaseViewModel
-    pub const m_LagAnglesHistory: usize = 0xEE8; // QAngle
-    pub const m_vPredictedOffset: usize = 0xF00; // Vector
-}
-
-pub mod C_RagdollManager { // C_BaseEntity
-    pub const m_iCurrentMaxRagdollCount: usize = 0x540; // int8_t
-}
-
-pub mod C_RagdollProp { // CBaseAnimGraph
-    pub const m_ragPos: usize = 0xE88; // C_NetworkUtlVectorBase<Vector>
-    pub const m_ragAngles: usize = 0xEA0; // C_NetworkUtlVectorBase<QAngle>
-    pub const m_flBlendWeight: usize = 0xEB8; // float
-    pub const m_hRagdollSource: usize = 0xEBC; // CHandle<C_BaseEntity>
-    pub const m_iEyeAttachment: usize = 0xEC0; // AttachmentHandle_t
-    pub const m_flBlendWeightCurrent: usize = 0xEC4; // float
-    pub const m_parentPhysicsBoneIndices: usize = 0xEC8; // CUtlVector<int32_t>
-    pub const m_worldSpaceBoneComputationOrder: usize = 0xEE0; // CUtlVector<int32_t>
-}
-
-pub mod C_RagdollPropAttached { // C_RagdollProp
-    pub const m_boneIndexAttached: usize = 0xEF8; // uint32_t
-    pub const m_ragdollAttachedObjectIndex: usize = 0xEFC; // uint32_t
-    pub const m_attachmentPointBoneSpace: usize = 0xF00; // Vector
-    pub const m_attachmentPointRagdollSpace: usize = 0xF0C; // Vector
-    pub const m_vecOffset: usize = 0xF18; // Vector
-    pub const m_parentTime: usize = 0xF24; // float
-    pub const m_bHasParent: usize = 0xF28; // bool
-}
-
-pub mod C_RectLight { // C_BarnLight
-    pub const m_bShowLight: usize = 0xF08; // bool
-}
-
-pub mod C_RetakeGameRules {
-    pub const m_nMatchSeed: usize = 0xF8; // int32_t
-    pub const m_bBlockersPresent: usize = 0xFC; // bool
-    pub const m_bRoundInProgress: usize = 0xFD; // bool
-    pub const m_iFirstSecondHalfRound: usize = 0x100; // int32_t
-    pub const m_iBombSite: usize = 0x104; // int32_t
-}
-
-pub mod C_RopeKeyframe { // C_BaseModelEntity
-    pub const m_LinksTouchingSomething: usize = 0xCC8; // CBitVec<10>
-    pub const m_nLinksTouchingSomething: usize = 0xCCC; // int32_t
-    pub const m_bApplyWind: usize = 0xCD0; // bool
-    pub const m_fPrevLockedPoints: usize = 0xCD4; // int32_t
-    pub const m_iForcePointMoveCounter: usize = 0xCD8; // int32_t
-    pub const m_bPrevEndPointPos: usize = 0xCDC; // bool[2]
-    pub const m_vPrevEndPointPos: usize = 0xCE0; // Vector[2]
-    pub const m_flCurScroll: usize = 0xCF8; // float
-    pub const m_flScrollSpeed: usize = 0xCFC; // float
-    pub const m_RopeFlags: usize = 0xD00; // uint16_t
-    pub const m_iRopeMaterialModelIndex: usize = 0xD08; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_LightValues: usize = 0xF80; // Vector[10]
-    pub const m_nSegments: usize = 0xFF8; // uint8_t
-    pub const m_hStartPoint: usize = 0xFFC; // CHandle<C_BaseEntity>
-    pub const m_hEndPoint: usize = 0x1000; // CHandle<C_BaseEntity>
-    pub const m_iStartAttachment: usize = 0x1004; // AttachmentHandle_t
-    pub const m_iEndAttachment: usize = 0x1005; // AttachmentHandle_t
-    pub const m_Subdiv: usize = 0x1006; // uint8_t
-    pub const m_RopeLength: usize = 0x1008; // int16_t
-    pub const m_Slack: usize = 0x100A; // int16_t
-    pub const m_TextureScale: usize = 0x100C; // float
-    pub const m_fLockedPoints: usize = 0x1010; // uint8_t
-    pub const m_nChangeCount: usize = 0x1011; // uint8_t
-    pub const m_Width: usize = 0x1014; // float
-    pub const m_PhysicsDelegate: usize = 0x1018; // C_RopeKeyframe::CPhysicsDelegate
-    pub const m_hMaterial: usize = 0x1028; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_TextureHeight: usize = 0x1030; // int32_t
-    pub const m_vecImpulse: usize = 0x1034; // Vector
-    pub const m_vecPreviousImpulse: usize = 0x1040; // Vector
-    pub const m_flCurrentGustTimer: usize = 0x104C; // float
-    pub const m_flCurrentGustLifetime: usize = 0x1050; // float
-    pub const m_flTimeToNextGust: usize = 0x1054; // float
-    pub const m_vWindDir: usize = 0x1058; // Vector
-    pub const m_vColorMod: usize = 0x1064; // Vector
-    pub const m_vCachedEndPointAttachmentPos: usize = 0x1070; // Vector[2]
-    pub const m_vCachedEndPointAttachmentAngle: usize = 0x1088; // QAngle[2]
-    pub const m_bConstrainBetweenEndpoints: usize = 0x10A0; // bool
-    pub const m_bEndPointAttachmentPositionsDirty: usize = 0x0; // bitfield:1
-    pub const m_bEndPointAttachmentAnglesDirty: usize = 0x0; // bitfield:1
-    pub const m_bNewDataThisFrame: usize = 0x0; // bitfield:1
-    pub const m_bPhysicsInitted: usize = 0x0; // bitfield:1
-}
-
-pub mod C_RopeKeyframe_CPhysicsDelegate {
-    pub const m_pKeyframe: usize = 0x8; // C_RopeKeyframe*
-}
-
-pub mod C_SceneEntity { // C_PointEntity
-    pub const m_bIsPlayingBack: usize = 0x548; // bool
-    pub const m_bPaused: usize = 0x549; // bool
-    pub const m_bMultiplayer: usize = 0x54A; // bool
-    pub const m_bAutogenerated: usize = 0x54B; // bool
-    pub const m_flForceClientTime: usize = 0x54C; // float
-    pub const m_nSceneStringIndex: usize = 0x550; // uint16_t
-    pub const m_bClientOnly: usize = 0x552; // bool
-    pub const m_hOwner: usize = 0x554; // CHandle<C_BaseFlex>
-    pub const m_hActorList: usize = 0x558; // C_NetworkUtlVectorBase<CHandle<C_BaseFlex>>
-    pub const m_bWasPlaying: usize = 0x570; // bool
-    pub const m_QueuedEvents: usize = 0x580; // CUtlVector<C_SceneEntity::QueuedEvents_t>
-    pub const m_flCurrentTime: usize = 0x598; // float
-}
-
-pub mod C_SceneEntity_QueuedEvents_t {
-    pub const starttime: usize = 0x0; // float
-}
-
-pub mod C_SensorGrenade { // C_BaseCSGrenade
-}
-
-pub mod C_SensorGrenadeProjectile { // C_BaseCSGrenadeProjectile
-}
-
-pub mod C_ShatterGlassShardPhysics { // C_PhysicsProp
-    pub const m_ShardDesc: usize = 0xFE0; // shard_model_desc_t
-}
-
-pub mod C_SingleplayRules { // C_GameRules
-}
-
-pub mod C_SkyCamera { // C_BaseEntity
-    pub const m_skyboxData: usize = 0x540; // sky3dparams_t
-    pub const m_skyboxSlotToken: usize = 0x5D0; // CUtlStringToken
-    pub const m_bUseAngles: usize = 0x5D4; // bool
-    pub const m_pNext: usize = 0x5D8; // C_SkyCamera*
-}
-
-pub mod C_SmokeGrenade { // C_BaseCSGrenade
-}
-
-pub mod C_SmokeGrenadeProjectile { // C_BaseCSGrenadeProjectile
-    pub const m_nSmokeEffectTickBegin: usize = 0x1108; // int32_t
-    pub const m_bDidSmokeEffect: usize = 0x110C; // bool
-    pub const m_nRandomSeed: usize = 0x1110; // int32_t
-    pub const m_vSmokeColor: usize = 0x1114; // Vector
-    pub const m_vSmokeDetonationPos: usize = 0x1120; // Vector
-    pub const m_VoxelFrameData: usize = 0x1130; // CUtlVector<uint8_t>
-    pub const m_bSmokeVolumeDataReceived: usize = 0x1148; // bool
-    pub const m_bSmokeEffectSpawned: usize = 0x1149; // bool
-}
-
-pub mod C_SoundAreaEntityBase { // C_BaseEntity
-    pub const m_bDisabled: usize = 0x540; // bool
-    pub const m_bWasEnabled: usize = 0x548; // bool
-    pub const m_iszSoundAreaType: usize = 0x550; // CUtlSymbolLarge
-    pub const m_vPos: usize = 0x558; // Vector
-}
-
-pub mod C_SoundAreaEntityOrientedBox { // C_SoundAreaEntityBase
-    pub const m_vMin: usize = 0x568; // Vector
-    pub const m_vMax: usize = 0x574; // Vector
-}
-
-pub mod C_SoundAreaEntitySphere { // C_SoundAreaEntityBase
-    pub const m_flRadius: usize = 0x568; // float
-}
-
-pub mod C_SoundOpvarSetAABBEntity { // C_SoundOpvarSetPointEntity
-}
-
-pub mod C_SoundOpvarSetOBBEntity { // C_SoundOpvarSetAABBEntity
-}
-
-pub mod C_SoundOpvarSetOBBWindEntity { // C_SoundOpvarSetPointBase
-}
-
-pub mod C_SoundOpvarSetPathCornerEntity { // C_SoundOpvarSetPointEntity
-}
-
-pub mod C_SoundOpvarSetPointBase { // C_BaseEntity
-    pub const m_iszStackName: usize = 0x540; // CUtlSymbolLarge
-    pub const m_iszOperatorName: usize = 0x548; // CUtlSymbolLarge
-    pub const m_iszOpvarName: usize = 0x550; // CUtlSymbolLarge
-    pub const m_iOpvarIndex: usize = 0x558; // int32_t
-    pub const m_bUseAutoCompare: usize = 0x55C; // bool
-}
-
-pub mod C_SoundOpvarSetPointEntity { // C_SoundOpvarSetPointBase
-}
-
-pub mod C_SpotlightEnd { // C_BaseModelEntity
-    pub const m_flLightScale: usize = 0xCC0; // float
-    pub const m_Radius: usize = 0xCC4; // float
-}
-
-pub mod C_Sprite { // C_BaseModelEntity
-    pub const m_hSpriteMaterial: usize = 0xCD8; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_hAttachedToEntity: usize = 0xCE0; // CHandle<C_BaseEntity>
-    pub const m_nAttachment: usize = 0xCE4; // AttachmentHandle_t
-    pub const m_flSpriteFramerate: usize = 0xCE8; // float
-    pub const m_flFrame: usize = 0xCEC; // float
-    pub const m_flDieTime: usize = 0xCF0; // GameTime_t
-    pub const m_nBrightness: usize = 0xD00; // uint32_t
-    pub const m_flBrightnessDuration: usize = 0xD04; // float
-    pub const m_flSpriteScale: usize = 0xD08; // float
-    pub const m_flScaleDuration: usize = 0xD0C; // float
-    pub const m_bWorldSpaceScale: usize = 0xD10; // bool
-    pub const m_flGlowProxySize: usize = 0xD14; // float
-    pub const m_flHDRColorScale: usize = 0xD18; // float
-    pub const m_flLastTime: usize = 0xD1C; // GameTime_t
-    pub const m_flMaxFrame: usize = 0xD20; // float
-    pub const m_flStartScale: usize = 0xD24; // float
-    pub const m_flDestScale: usize = 0xD28; // float
-    pub const m_flScaleTimeStart: usize = 0xD2C; // GameTime_t
-    pub const m_nStartBrightness: usize = 0xD30; // int32_t
-    pub const m_nDestBrightness: usize = 0xD34; // int32_t
-    pub const m_flBrightnessTimeStart: usize = 0xD38; // GameTime_t
-    pub const m_hOldSpriteMaterial: usize = 0xD40; // CWeakHandle<InfoForResourceTypeIMaterial2>
-    pub const m_nSpriteWidth: usize = 0xDE8; // int32_t
-    pub const m_nSpriteHeight: usize = 0xDEC; // int32_t
-}
-
-pub mod C_SpriteOriented { // C_Sprite
-}
-
-pub mod C_Sun { // C_BaseModelEntity
-    pub const m_fxSSSunFlareEffectIndex: usize = 0xCC0; // ParticleIndex_t
-    pub const m_fxSunFlareEffectIndex: usize = 0xCC4; // ParticleIndex_t
-    pub const m_fdistNormalize: usize = 0xCC8; // float
-    pub const m_vSunPos: usize = 0xCCC; // Vector
-    pub const m_vDirection: usize = 0xCD8; // Vector
-    pub const m_iszEffectName: usize = 0xCE8; // CUtlSymbolLarge
-    pub const m_iszSSEffectName: usize = 0xCF0; // CUtlSymbolLarge
-    pub const m_clrOverlay: usize = 0xCF8; // Color
-    pub const m_bOn: usize = 0xCFC; // bool
-    pub const m_bmaxColor: usize = 0xCFD; // bool
-    pub const m_flSize: usize = 0xD00; // float
-    pub const m_flHazeScale: usize = 0xD04; // float
-    pub const m_flRotation: usize = 0xD08; // float
-    pub const m_flHDRColorScale: usize = 0xD0C; // float
-    pub const m_flAlphaHaze: usize = 0xD10; // float
-    pub const m_flAlphaScale: usize = 0xD14; // float
-    pub const m_flAlphaHdr: usize = 0xD18; // float
-    pub const m_flFarZScale: usize = 0xD1C; // float
-}
-
-pub mod C_SunGlowOverlay { // CGlowOverlay
-    pub const m_bModulateByDot: usize = 0xD0; // bool
-}
-
-pub mod C_Team { // C_BaseEntity
-    pub const m_aPlayerControllers: usize = 0x540; // C_NetworkUtlVectorBase<CHandle<CBasePlayerController>>
-    pub const m_aPlayers: usize = 0x558; // C_NetworkUtlVectorBase<CHandle<C_BasePlayerPawn>>
-    pub const m_iScore: usize = 0x570; // int32_t
-    pub const m_szTeamname: usize = 0x574; // char[129]
-}
-
-pub mod C_TeamRoundTimer { // C_BaseEntity
-    pub const m_bTimerPaused: usize = 0x540; // bool
-    pub const m_flTimeRemaining: usize = 0x544; // float
-    pub const m_flTimerEndTime: usize = 0x548; // GameTime_t
-    pub const m_bIsDisabled: usize = 0x54C; // bool
-    pub const m_bShowInHUD: usize = 0x54D; // bool
-    pub const m_nTimerLength: usize = 0x550; // int32_t
-    pub const m_nTimerInitialLength: usize = 0x554; // int32_t
-    pub const m_nTimerMaxLength: usize = 0x558; // int32_t
-    pub const m_bAutoCountdown: usize = 0x55C; // bool
-    pub const m_nSetupTimeLength: usize = 0x560; // int32_t
-    pub const m_nState: usize = 0x564; // int32_t
-    pub const m_bStartPaused: usize = 0x568; // bool
-    pub const m_bInCaptureWatchState: usize = 0x569; // bool
-    pub const m_flTotalTime: usize = 0x56C; // float
-    pub const m_bStopWatchTimer: usize = 0x570; // bool
-    pub const m_bFireFinished: usize = 0x571; // bool
-    pub const m_bFire5MinRemain: usize = 0x572; // bool
-    pub const m_bFire4MinRemain: usize = 0x573; // bool
-    pub const m_bFire3MinRemain: usize = 0x574; // bool
-    pub const m_bFire2MinRemain: usize = 0x575; // bool
-    pub const m_bFire1MinRemain: usize = 0x576; // bool
-    pub const m_bFire30SecRemain: usize = 0x577; // bool
-    pub const m_bFire10SecRemain: usize = 0x578; // bool
-    pub const m_bFire5SecRemain: usize = 0x579; // bool
-    pub const m_bFire4SecRemain: usize = 0x57A; // bool
-    pub const m_bFire3SecRemain: usize = 0x57B; // bool
-    pub const m_bFire2SecRemain: usize = 0x57C; // bool
-    pub const m_bFire1SecRemain: usize = 0x57D; // bool
-    pub const m_nOldTimerLength: usize = 0x580; // int32_t
-    pub const m_nOldTimerState: usize = 0x584; // int32_t
-}
-
-pub mod C_TeamplayRules { // C_MultiplayRules
-}
-
-pub mod C_TextureBasedAnimatable { // C_BaseModelEntity
-    pub const m_bLoop: usize = 0xCC0; // bool
-    pub const m_flFPS: usize = 0xCC4; // float
-    pub const m_hPositionKeys: usize = 0xCC8; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_hRotationKeys: usize = 0xCD0; // CStrongHandle<InfoForResourceTypeCTextureBase>
-    pub const m_vAnimationBoundsMin: usize = 0xCD8; // Vector
-    pub const m_vAnimationBoundsMax: usize = 0xCE4; // Vector
-    pub const m_flStartTime: usize = 0xCF0; // float
-    pub const m_flStartFrame: usize = 0xCF4; // float
-}
-
-pub mod C_TintController { // C_BaseEntity
-}
-
-pub mod C_TonemapController2 { // C_BaseEntity
-    pub const m_flAutoExposureMin: usize = 0x540; // float
-    pub const m_flAutoExposureMax: usize = 0x544; // float
-    pub const m_flTonemapPercentTarget: usize = 0x548; // float
-    pub const m_flTonemapPercentBrightPixels: usize = 0x54C; // float
-    pub const m_flTonemapMinAvgLum: usize = 0x550; // float
-    pub const m_flExposureAdaptationSpeedUp: usize = 0x554; // float
-    pub const m_flExposureAdaptationSpeedDown: usize = 0x558; // float
-    pub const m_flTonemapEVSmoothingRange: usize = 0x55C; // float
-}
-
-pub mod C_TonemapController2Alias_env_tonemap_controller2 { // C_TonemapController2
-}
-
-pub mod C_TriggerBuoyancy { // C_BaseTrigger
-    pub const m_BuoyancyHelper: usize = 0xCC8; // CBuoyancyHelper
-    pub const m_flFluidDensity: usize = 0xCE8; // float
-}
-
-pub mod C_TriggerLerpObject { // C_BaseTrigger
-}
-
-pub mod C_TriggerMultiple { // C_BaseTrigger
-}
-
-pub mod C_TriggerVolume { // C_BaseModelEntity
-}
-
-pub mod C_ViewmodelAttachmentModel { // CBaseAnimGraph
-}
-
-pub mod C_ViewmodelWeapon { // CBaseAnimGraph
-    pub const m_worldModel: usize = 0xE80; // char*
-}
-
-pub mod C_VoteController { // C_BaseEntity
-    pub const m_iActiveIssueIndex: usize = 0x550; // int32_t
-    pub const m_iOnlyTeamToVote: usize = 0x554; // int32_t
-    pub const m_nVoteOptionCount: usize = 0x558; // int32_t[5]
-    pub const m_nPotentialVotes: usize = 0x56C; // int32_t
-    pub const m_bVotesDirty: usize = 0x570; // bool
-    pub const m_bTypeDirty: usize = 0x571; // bool
-    pub const m_bIsYesNoVote: usize = 0x572; // bool
-}
-
-pub mod C_WaterBullet { // CBaseAnimGraph
-}
-
-pub mod C_WeaponAWP { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponAug { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponBaseItem { // C_CSWeaponBase
-    pub const m_SequenceCompleteTimer: usize = 0x1A10; // CountdownTimer
-    pub const m_bRedraw: usize = 0x1A28; // bool
-}
-
-pub mod C_WeaponBizon { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponCZ75a { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponElite { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponFamas { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponFiveSeven { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponG3SG1 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponGalilAR { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponGlock { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponHKP2000 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponM249 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponM4A1 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponM4A1Silencer { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponMAC10 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponMP5SD { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponMP7 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponMP9 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponMag7 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponNOVA { // C_CSWeaponBase
-}
-
-pub mod C_WeaponNegev { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponP250 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponP90 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponRevolver { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponSCAR20 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponSG556 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponSSG08 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponSawedoff { // C_CSWeaponBase
-}
-
-pub mod C_WeaponShield { // C_CSWeaponBaseGun
-    pub const m_flDisplayHealth: usize = 0x1A30; // float
-}
-
-pub mod C_WeaponTaser { // C_CSWeaponBaseGun
-    pub const m_fFireTime: usize = 0x1A30; // GameTime_t
-}
-
-pub mod C_WeaponTec9 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponUMP45 { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponUSPSilencer { // C_CSWeaponBaseGun
-}
-
-pub mod C_WeaponXM1014 { // C_CSWeaponBase
-}
-
-pub mod C_World { // C_BaseModelEntity
-}
-
-pub mod C_WorldModelGloves { // CBaseAnimGraph
-}
-
-pub mod C_WorldModelNametag { // CBaseAnimGraph
-}
-
-pub mod C_WorldModelStattrak { // CBaseAnimGraph
-}
-
-pub mod C_fogplayerparams_t {
-    pub const m_hCtrl: usize = 0x8; // CHandle<C_FogController>
-    pub const m_flTransitionTime: usize = 0xC; // float
-    pub const m_OldColor: usize = 0x10; // Color
-    pub const m_flOldStart: usize = 0x14; // float
-    pub const m_flOldEnd: usize = 0x18; // float
-    pub const m_flOldMaxDensity: usize = 0x1C; // float
-    pub const m_flOldHDRColorScale: usize = 0x20; // float
-    pub const m_flOldFarZ: usize = 0x24; // float
-    pub const m_NewColor: usize = 0x28; // Color
-    pub const m_flNewStart: usize = 0x2C; // float
-    pub const m_flNewEnd: usize = 0x30; // float
-    pub const m_flNewMaxDensity: usize = 0x34; // float
-    pub const m_flNewHDRColorScale: usize = 0x38; // float
-    pub const m_flNewFarZ: usize = 0x3C; // float
-}
-
-pub mod CompMatMutatorCondition_t {
-    pub const m_nMutatorCondition: usize = 0x0; // CompMatPropertyMutatorConditionType_t
-    pub const m_strMutatorConditionContainerName: usize = 0x8; // CUtlString
-    pub const m_strMutatorConditionContainerVarName: usize = 0x10; // CUtlString
-    pub const m_strMutatorConditionContainerVarValue: usize = 0x18; // CUtlString
-    pub const m_bPassWhenTrue: usize = 0x20; // bool
-}
-
-pub mod CompMatPropertyMutator_t {
-    pub const m_bEnabled: usize = 0x0; // bool
-    pub const m_nMutatorCommandType: usize = 0x4; // CompMatPropertyMutatorType_t
-    pub const m_strInitWith_Container: usize = 0x8; // CUtlString
-    pub const m_strCopyProperty_InputContainerSrc: usize = 0x10; // CUtlString
-    pub const m_strCopyProperty_InputContainerProperty: usize = 0x18; // CUtlString
-    pub const m_strCopyProperty_TargetProperty: usize = 0x20; // CUtlString
-    pub const m_strRandomRollInputVars_SeedInputVar: usize = 0x28; // CUtlString
-    pub const m_vecRandomRollInputVars_InputVarsToRoll: usize = 0x30; // CUtlVector<CUtlString>
-    pub const m_strCopyMatchingKeys_InputContainerSrc: usize = 0x48; // CUtlString
-    pub const m_strCopyKeysWithSuffix_InputContainerSrc: usize = 0x50; // CUtlString
-    pub const m_strCopyKeysWithSuffix_FindSuffix: usize = 0x58; // CUtlString
-    pub const m_strCopyKeysWithSuffix_ReplaceSuffix: usize = 0x60; // CUtlString
-    pub const m_nSetValue_Value: usize = 0x68; // CompositeMaterialInputLooseVariable_t
-    pub const m_strGenerateTexture_TargetParam: usize = 0x2D8; // CUtlString
-    pub const m_strGenerateTexture_InitialContainer: usize = 0x2E0; // CUtlString
-    pub const m_nResolution: usize = 0x2E8; // int32_t
-    pub const m_bIsScratchTarget: usize = 0x2EC; // bool
-    pub const m_bSplatDebugInfo: usize = 0x2ED; // bool
-    pub const m_bCaptureInRenderDoc: usize = 0x2EE; // bool
-    pub const m_vecTexGenInstructions: usize = 0x2F0; // CUtlVector<CompMatPropertyMutator_t>
-    pub const m_vecConditionalMutators: usize = 0x308; // CUtlVector<CompMatPropertyMutator_t>
-    pub const m_strPopInputQueue_Container: usize = 0x320; // CUtlString
-    pub const m_strDrawText_InputContainerSrc: usize = 0x328; // CUtlString
-    pub const m_strDrawText_InputContainerProperty: usize = 0x330; // CUtlString
-    pub const m_vecDrawText_Position: usize = 0x338; // Vector2D
-    pub const m_colDrawText_Color: usize = 0x340; // Color
-    pub const m_strDrawText_Font: usize = 0x348; // CUtlString
-    pub const m_vecConditions: usize = 0x350; // CUtlVector<CompMatMutatorCondition_t>
-}
-
-pub mod CompositeMaterialAssemblyProcedure_t {
-    pub const m_vecCompMatIncludes: usize = 0x0; // CUtlVector<CResourceName>
-    pub const m_vecMatchFilters: usize = 0x18; // CUtlVector<CompositeMaterialMatchFilter_t>
-    pub const m_vecCompositeInputContainers: usize = 0x30; // CUtlVector<CompositeMaterialInputContainer_t>
-    pub const m_vecPropertyMutators: usize = 0x48; // CUtlVector<CompMatPropertyMutator_t>
-}
-
-pub mod CompositeMaterialEditorPoint_t {
-    pub const m_ModelName: usize = 0x0; // CResourceName
-    pub const m_nSequenceIndex: usize = 0xE0; // int32_t
-    pub const m_flCycle: usize = 0xE4; // float
-    pub const m_KVModelStateChoices: usize = 0xE8; // KeyValues3
-    pub const m_bEnableChildModel: usize = 0xF8; // bool
-    pub const m_ChildModelName: usize = 0x100; // CResourceName
-    pub const m_vecCompositeMaterialAssemblyProcedures: usize = 0x1E0; // CUtlVector<CompositeMaterialAssemblyProcedure_t>
-    pub const m_vecCompositeMaterials: usize = 0x1F8; // CUtlVector<CompositeMaterial_t>
-}
-
-pub mod CompositeMaterialInputContainer_t {
-    pub const m_bEnabled: usize = 0x0; // bool
-    pub const m_nCompositeMaterialInputContainerSourceType: usize = 0x4; // CompositeMaterialInputContainerSourceType_t
-    pub const m_strSpecificContainerMaterial: usize = 0x8; // CResourceName
-    pub const m_strAttrName: usize = 0xE8; // CUtlString
-    pub const m_strAlias: usize = 0xF0; // CUtlString
-    pub const m_vecLooseVariables: usize = 0xF8; // CUtlVector<CompositeMaterialInputLooseVariable_t>
-    pub const m_strAttrNameForVar: usize = 0x110; // CUtlString
-    pub const m_bExposeExternally: usize = 0x118; // bool
-}
-
-pub mod CompositeMaterialInputLooseVariable_t {
-    pub const m_strName: usize = 0x0; // CUtlString
-    pub const m_bExposeExternally: usize = 0x8; // bool
-    pub const m_strExposedFriendlyName: usize = 0x10; // CUtlString
-    pub const m_strExposedFriendlyGroupName: usize = 0x18; // CUtlString
-    pub const m_bExposedVariableIsFixedRange: usize = 0x20; // bool
-    pub const m_strExposedVisibleWhenTrue: usize = 0x28; // CUtlString
-    pub const m_strExposedHiddenWhenTrue: usize = 0x30; // CUtlString
-    pub const m_nVariableType: usize = 0x38; // CompositeMaterialInputLooseVariableType_t
-    pub const m_bValueBoolean: usize = 0x3C; // bool
-    pub const m_nValueIntX: usize = 0x40; // int32_t
-    pub const m_nValueIntY: usize = 0x44; // int32_t
-    pub const m_nValueIntZ: usize = 0x48; // int32_t
-    pub const m_nValueIntW: usize = 0x4C; // int32_t
-    pub const m_bHasFloatBounds: usize = 0x50; // bool
-    pub const m_flValueFloatX: usize = 0x54; // float
-    pub const m_flValueFloatX_Min: usize = 0x58; // float
-    pub const m_flValueFloatX_Max: usize = 0x5C; // float
-    pub const m_flValueFloatY: usize = 0x60; // float
-    pub const m_flValueFloatY_Min: usize = 0x64; // float
-    pub const m_flValueFloatY_Max: usize = 0x68; // float
-    pub const m_flValueFloatZ: usize = 0x6C; // float
-    pub const m_flValueFloatZ_Min: usize = 0x70; // float
-    pub const m_flValueFloatZ_Max: usize = 0x74; // float
-    pub const m_flValueFloatW: usize = 0x78; // float
-    pub const m_flValueFloatW_Min: usize = 0x7C; // float
-    pub const m_flValueFloatW_Max: usize = 0x80; // float
-    pub const m_cValueColor4: usize = 0x84; // Color
-    pub const m_nValueSystemVar: usize = 0x88; // CompositeMaterialVarSystemVar_t
-    pub const m_strResourceMaterial: usize = 0x90; // CResourceName
-    pub const m_strTextureContentAssetPath: usize = 0x170; // CUtlString
-    pub const m_strTextureRuntimeResourcePath: usize = 0x178; // CResourceName
-    pub const m_strTextureCompilationVtexTemplate: usize = 0x258; // CUtlString
-    pub const m_nTextureType: usize = 0x260; // CompositeMaterialInputTextureType_t
-    pub const m_strString: usize = 0x268; // CUtlString
-}
-
-pub mod CompositeMaterialMatchFilter_t {
-    pub const m_nCompositeMaterialMatchFilterType: usize = 0x0; // CompositeMaterialMatchFilterType_t
-    pub const m_strMatchFilter: usize = 0x8; // CUtlString
-    pub const m_strMatchValue: usize = 0x10; // CUtlString
-    pub const m_bPassWhenTrue: usize = 0x18; // bool
-}
-
-pub mod CompositeMaterial_t {
-    pub const m_TargetKVs: usize = 0x8; // KeyValues3
-    pub const m_PreGenerationKVs: usize = 0x18; // KeyValues3
-    pub const m_FinalKVs: usize = 0x28; // KeyValues3
-    pub const m_vecGeneratedTextures: usize = 0x40; // CUtlVector<GeneratedTextureHandle_t>
-}
-
-pub mod CountdownTimer {
-    pub const m_duration: usize = 0x8; // float
-    pub const m_timestamp: usize = 0xC; // GameTime_t
-    pub const m_timescale: usize = 0x10; // float
-    pub const m_nWorldGroupId: usize = 0x14; // WorldGroupId_t
-}
-
-pub mod EngineCountdownTimer {
-    pub const m_duration: usize = 0x8; // float
-    pub const m_timestamp: usize = 0xC; // float
-    pub const m_timescale: usize = 0x10; // float
-}
-
-pub mod EntityRenderAttribute_t {
-    pub const m_ID: usize = 0x30; // CUtlStringToken
-    pub const m_Values: usize = 0x34; // Vector4D
-}
-
-pub mod EntitySpottedState_t {
-    pub const m_bSpotted: usize = 0x8; // bool
-    pub const m_bSpottedByMask: usize = 0xC; // uint32_t[2]
-}
-
-pub mod GeneratedTextureHandle_t {
-    pub const m_strBitmapName: usize = 0x0; // CUtlString
-}
-
-pub mod IClientAlphaProperty {
-}
-
-pub mod IntervalTimer {
-    pub const m_timestamp: usize = 0x8; // GameTime_t
-    pub const m_nWorldGroupId: usize = 0xC; // WorldGroupId_t
-}
-
-pub mod PhysicsRagdollPose_t {
-    pub const __m_pChainEntity: usize = 0x8; // CNetworkVarChainer
-    pub const m_Transforms: usize = 0x30; // C_NetworkUtlVectorBase<CTransform>
-    pub const m_hOwner: usize = 0x48; // CHandle<C_BaseEntity>
-    pub const m_bDirty: usize = 0x68; // bool
-}
-
-pub mod SellbackPurchaseEntry_t {
-    pub const m_unDefIdx: usize = 0x30; // uint16_t
-    pub const m_nCost: usize = 0x34; // int32_t
-    pub const m_nPrevArmor: usize = 0x38; // int32_t
-    pub const m_bPrevHelmet: usize = 0x3C; // bool
-    pub const m_hItem: usize = 0x40; // CEntityHandle
-}
-
-pub mod ServerAuthoritativeWeaponSlot_t {
-    pub const unClass: usize = 0x28; // uint16_t
-    pub const unSlot: usize = 0x2A; // uint16_t
-    pub const unItemDefIdx: usize = 0x2C; // uint16_t
-}
-
-pub mod TimedEvent {
-    pub const m_TimeBetweenEvents: usize = 0x0; // float
-    pub const m_fNextEvent: usize = 0x4; // float
-}
-
-pub mod VPhysicsCollisionAttribute_t {
-    pub const m_nInteractsAs: usize = 0x8; // uint64_t
-    pub const m_nInteractsWith: usize = 0x10; // uint64_t
-    pub const m_nInteractsExclude: usize = 0x18; // uint64_t
-    pub const m_nEntityId: usize = 0x20; // uint32_t
-    pub const m_nOwnerId: usize = 0x24; // uint32_t
-    pub const m_nHierarchyId: usize = 0x28; // uint16_t
-    pub const m_nCollisionGroup: usize = 0x2A; // uint8_t
-    pub const m_nCollisionFunctionMask: usize = 0x2B; // uint8_t
-}
-
-pub mod ViewAngleServerChange_t {
-    pub const nType: usize = 0x30; // FixAngleSet_t
-    pub const qAngle: usize = 0x34; // QAngle
-    pub const nIndex: usize = 0x40; // uint32_t
-}
-
-pub mod WeaponPurchaseCount_t {
-    pub const m_nItemDefIndex: usize = 0x30; // uint16_t
-    pub const m_nCount: usize = 0x32; // uint16_t
-}
-
-pub mod WeaponPurchaseTracker_t {
-    pub const m_weaponPurchases: usize = 0x8; // C_UtlVectorEmbeddedNetworkVar<WeaponPurchaseCount_t>
-}
-
-pub mod audioparams_t {
-    pub const localSound: usize = 0x8; // Vector[8]
-    pub const soundscapeIndex: usize = 0x68; // int32_t
-    pub const localBits: usize = 0x6C; // uint8_t
-    pub const soundscapeEntityListIndex: usize = 0x70; // int32_t
-    pub const soundEventHash: usize = 0x74; // uint32_t
-}
-
-pub mod fogparams_t {
-    pub const dirPrimary: usize = 0x8; // Vector
-    pub const colorPrimary: usize = 0x14; // Color
-    pub const colorSecondary: usize = 0x18; // Color
-    pub const colorPrimaryLerpTo: usize = 0x1C; // Color
-    pub const colorSecondaryLerpTo: usize = 0x20; // Color
-    pub const start: usize = 0x24; // float
-    pub const end: usize = 0x28; // float
-    pub const farz: usize = 0x2C; // float
-    pub const maxdensity: usize = 0x30; // float
-    pub const exponent: usize = 0x34; // float
-    pub const HDRColorScale: usize = 0x38; // float
-    pub const skyboxFogFactor: usize = 0x3C; // float
-    pub const skyboxFogFactorLerpTo: usize = 0x40; // float
-    pub const startLerpTo: usize = 0x44; // float
-    pub const endLerpTo: usize = 0x48; // float
-    pub const maxdensityLerpTo: usize = 0x4C; // float
-    pub const lerptime: usize = 0x50; // GameTime_t
-    pub const duration: usize = 0x54; // float
-    pub const blendtobackground: usize = 0x58; // float
-    pub const scattering: usize = 0x5C; // float
-    pub const locallightscale: usize = 0x60; // float
-    pub const enable: usize = 0x64; // bool
-    pub const blend: usize = 0x65; // bool
-    pub const m_bNoReflectionFog: usize = 0x66; // bool
-    pub const m_bPadding: usize = 0x67; // bool
-}
-
-pub mod shard_model_desc_t {
-    pub const m_nModelID: usize = 0x8; // int32_t
-    pub const m_hMaterial: usize = 0x10; // CStrongHandle<InfoForResourceTypeIMaterial2>
-    pub const m_solid: usize = 0x18; // ShardSolid_t
-    pub const m_ShatterPanelMode: usize = 0x19; // ShatterPanelMode
-    pub const m_vecPanelSize: usize = 0x1C; // Vector2D
-    pub const m_vecStressPositionA: usize = 0x24; // Vector2D
-    pub const m_vecStressPositionB: usize = 0x2C; // Vector2D
-    pub const m_vecPanelVertices: usize = 0x38; // C_NetworkUtlVectorBase<Vector2D>
-    pub const m_flGlassHalfThickness: usize = 0x50; // float
-    pub const m_bHasParent: usize = 0x54; // bool
-    pub const m_bParentFrozen: usize = 0x55; // bool
-    pub const m_SurfacePropStringToken: usize = 0x58; // CUtlStringToken
-}
-
-pub mod sky3dparams_t {
-    pub const scale: usize = 0x8; // int16_t
-    pub const origin: usize = 0xC; // Vector
-    pub const bClip3DSkyBoxNearToWorldFar: usize = 0x18; // bool
-    pub const flClip3DSkyBoxNearToWorldFarOffset: usize = 0x1C; // float
-    pub const fog: usize = 0x20; // fogparams_t
-    pub const m_nWorldGroupID: usize = 0x88; // WorldGroupId_t
-}
\ No newline at end of file
diff --git a/csflow/src/cs2dumper/engine2.rs b/csflow/src/cs2dumper/engine2.rs
deleted file mode 100644
index faca979..0000000
--- a/csflow/src/cs2dumper/engine2.rs
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Created using https://github.com/a2x/cs2-dumper
- * Sat, 30 Dec 2023 03:17:25 +0000
- */
-
-#![allow(non_snake_case, non_upper_case_globals)]
-
-pub mod CEmptyEntityInstance {
-}
-
-pub mod CEntityComponent {
-}
-
-pub mod CEntityComponentHelper {
-    pub const m_flags: usize = 0x8; // uint32_t
-    pub const m_pInfo: usize = 0x10; // EntComponentInfo_t*
-    pub const m_nPriority: usize = 0x18; // int32_t
-    pub const m_pNext: usize = 0x20; // CEntityComponentHelper*
-}
-
-pub mod CEntityIOOutput {
-    pub const m_Value: usize = 0x18; // CVariantBase<CVariantDefaultAllocator>
-}
-
-pub mod CEntityIdentity {
-    pub const m_nameStringableIndex: usize = 0x14; // int32_t
-    pub const m_name: usize = 0x18; // CUtlSymbolLarge
-    pub const m_designerName: usize = 0x20; // CUtlSymbolLarge
-    pub const m_flags: usize = 0x30; // uint32_t
-    pub const m_worldGroupId: usize = 0x38; // WorldGroupId_t
-    pub const m_fDataObjectTypes: usize = 0x3C; // uint32_t
-    pub const m_PathIndex: usize = 0x40; // ChangeAccessorFieldPathIndex_t
-    pub const m_pPrev: usize = 0x58; // CEntityIdentity*
-    pub const m_pNext: usize = 0x60; // CEntityIdentity*
-    pub const m_pPrevByClass: usize = 0x68; // CEntityIdentity*
-    pub const m_pNextByClass: usize = 0x70; // CEntityIdentity*
-}
-
-pub mod CEntityInstance {
-    pub const m_iszPrivateVScripts: usize = 0x8; // CUtlSymbolLarge
-    pub const m_pEntity: usize = 0x10; // CEntityIdentity*
-    pub const m_CScriptComponent: usize = 0x28; // CScriptComponent*
-}
-
-pub mod CNetworkVarChainer {
-    pub const m_PathIndex: usize = 0x20; // ChangeAccessorFieldPathIndex_t
-}
-
-pub mod CScriptComponent { // CEntityComponent
-    pub const m_scriptClassName: usize = 0x30; // CUtlSymbolLarge
-}
-
-pub mod CVariantDefaultAllocator {
-}
-
-pub mod EngineLoopState_t {
-    pub const m_nPlatWindowWidth: usize = 0x18; // int32_t
-    pub const m_nPlatWindowHeight: usize = 0x1C; // int32_t
-    pub const m_nRenderWidth: usize = 0x20; // int32_t
-    pub const m_nRenderHeight: usize = 0x24; // int32_t
-}
-
-pub mod EntComponentInfo_t {
-    pub const m_pName: usize = 0x0; // char*
-    pub const m_pCPPClassname: usize = 0x8; // char*
-    pub const m_pNetworkDataReferencedDescription: usize = 0x10; // char*
-    pub const m_pNetworkDataReferencedPtrPropDescription: usize = 0x18; // char*
-    pub const m_nRuntimeIndex: usize = 0x20; // int32_t
-    pub const m_nFlags: usize = 0x24; // uint32_t
-    pub const m_pBaseClassComponentHelper: usize = 0x60; // CEntityComponentHelper*
-}
-
-pub mod EntInput_t {
-}
-
-pub mod EntOutput_t {
-}
-
-pub mod EventAdvanceTick_t { // EventSimulate_t
-    pub const m_nCurrentTick: usize = 0x30; // int32_t
-    pub const m_nCurrentTickThisFrame: usize = 0x34; // int32_t
-    pub const m_nTotalTicksThisFrame: usize = 0x38; // int32_t
-    pub const m_nTotalTicks: usize = 0x3C; // int32_t
-}
-
-pub mod EventAppShutdown_t {
-    pub const m_nDummy0: usize = 0x0; // int32_t
-}
-
-pub mod EventClientAdvanceTick_t { // EventAdvanceTick_t
-}
-
-pub mod EventClientFrameSimulate_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRealTime: usize = 0x28; // float
-    pub const m_flFrameTime: usize = 0x2C; // float
-}
-
-pub mod EventClientOutput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRenderTime: usize = 0x28; // float
-    pub const m_flRealTime: usize = 0x2C; // float
-    pub const m_flRenderFrameTimeUnbounded: usize = 0x30; // float
-    pub const m_bRenderOnly: usize = 0x34; // bool
-}
-
-pub mod EventClientPauseSimulate_t { // EventSimulate_t
-}
-
-pub mod EventClientPollInput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRealTime: usize = 0x28; // float
-}
-
-pub mod EventClientPollNetworking_t {
-    pub const m_nTickCount: usize = 0x0; // int32_t
-}
-
-pub mod EventClientPostAdvanceTick_t { // EventPostAdvanceTick_t
-}
-
-pub mod EventClientPostOutput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRenderTime: usize = 0x28; // double
-    pub const m_flRenderFrameTime: usize = 0x30; // float
-    pub const m_flRenderFrameTimeUnbounded: usize = 0x34; // float
-    pub const m_bRenderOnly: usize = 0x38; // bool
-}
-
-pub mod EventClientPostSimulate_t { // EventSimulate_t
-}
-
-pub mod EventClientPreOutput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRenderTime: usize = 0x28; // double
-    pub const m_flRenderFrameTime: usize = 0x30; // double
-    pub const m_flRenderFrameTimeUnbounded: usize = 0x38; // double
-    pub const m_flRealTime: usize = 0x40; // float
-    pub const m_bRenderOnly: usize = 0x44; // bool
-}
-
-pub mod EventClientPreSimulate_t { // EventSimulate_t
-}
-
-pub mod EventClientPredictionPostNetupdate_t {
-}
-
-pub mod EventClientProcessGameInput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRealTime: usize = 0x28; // float
-    pub const m_flFrameTime: usize = 0x2C; // float
-}
-
-pub mod EventClientProcessInput_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRealTime: usize = 0x28; // float
-    pub const m_flTickInterval: usize = 0x2C; // float
-    pub const m_flTickStartTime: usize = 0x30; // double
-}
-
-pub mod EventClientProcessNetworking_t {
-}
-
-pub mod EventClientSceneSystemThreadStateChange_t {
-    pub const m_bThreadsActive: usize = 0x0; // bool
-}
-
-pub mod EventClientSendInput_t {
-    pub const m_bFinalClientCommandTick: usize = 0x0; // bool
-    pub const m_nAdditionalClientCommandsToCreate: usize = 0x4; // int32_t
-}
-
-pub mod EventClientSimulate_t { // EventSimulate_t
-}
-
-pub mod EventFrameBoundary_t {
-    pub const m_flFrameTime: usize = 0x0; // float
-}
-
-pub mod EventModInitialized_t {
-}
-
-pub mod EventPostAdvanceTick_t { // EventSimulate_t
-    pub const m_nCurrentTick: usize = 0x30; // int32_t
-    pub const m_nCurrentTickThisFrame: usize = 0x34; // int32_t
-    pub const m_nTotalTicksThisFrame: usize = 0x38; // int32_t
-    pub const m_nTotalTicks: usize = 0x3C; // int32_t
-}
-
-pub mod EventPostDataUpdate_t {
-    pub const m_nCount: usize = 0x0; // int32_t
-}
-
-pub mod EventPreDataUpdate_t {
-    pub const m_nCount: usize = 0x0; // int32_t
-}
-
-pub mod EventProfileStorageAvailable_t {
-    pub const m_nSplitScreenSlot: usize = 0x0; // CSplitScreenSlot
-}
-
-pub mod EventServerAdvanceTick_t { // EventAdvanceTick_t
-}
-
-pub mod EventServerPollNetworking_t { // EventSimulate_t
-}
-
-pub mod EventServerPostAdvanceTick_t { // EventPostAdvanceTick_t
-}
-
-pub mod EventServerPostSimulate_t { // EventSimulate_t
-}
-
-pub mod EventServerProcessNetworking_t { // EventSimulate_t
-}
-
-pub mod EventServerSimulate_t { // EventSimulate_t
-}
-
-pub mod EventSetTime_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_nClientOutputFrames: usize = 0x28; // int32_t
-    pub const m_flRealTime: usize = 0x30; // double
-    pub const m_flRenderTime: usize = 0x38; // double
-    pub const m_flRenderFrameTime: usize = 0x40; // double
-    pub const m_flRenderFrameTimeUnbounded: usize = 0x48; // double
-    pub const m_flRenderFrameTimeUnscaled: usize = 0x50; // double
-    pub const m_flTickRemainder: usize = 0x58; // double
-}
-
-pub mod EventSimpleLoopFrameUpdate_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_flRealTime: usize = 0x28; // float
-    pub const m_flFrameTime: usize = 0x2C; // float
-}
-
-pub mod EventSimulate_t {
-    pub const m_LoopState: usize = 0x0; // EngineLoopState_t
-    pub const m_bFirstTick: usize = 0x28; // bool
-    pub const m_bLastTick: usize = 0x29; // bool
-}
-
-pub mod EventSplitScreenStateChanged_t {
-}
\ No newline at end of file
diff --git a/csflow/src/cs2dumper/offsets.rs b/csflow/src/cs2dumper/offsets.rs
deleted file mode 100644
index 4941b83..0000000
--- a/csflow/src/cs2dumper/offsets.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Created using https://github.com/a2x/cs2-dumper
- * Sat, 30 Dec 2023 03:17:26 +0000
- */
-
-#![allow(non_snake_case, non_upper_case_globals)]
-
-pub mod client_dll { // client.dll
-    pub const dwEntityList: usize = 0x17C1950;
-    pub const dwForceAttack: usize = 0x16C1E70;
-    pub const dwForceAttack2: usize = 0x16C1F00;
-    pub const dwForceBackward: usize = 0x16C2140;
-    pub const dwForceCrouch: usize = 0x16C2410;
-    pub const dwForceForward: usize = 0x16C20B0;
-    pub const dwForceJump: usize = 0x16C2380;
-    pub const dwForceLeft: usize = 0x16C21D0;
-    pub const dwForceRight: usize = 0x16C2260;
-    pub const dwGameEntitySystem: usize = 0x18ED250;
-    pub const dwGameEntitySystem_getHighestEntityIndex: usize = 0x1510;
-    pub const dwGameRules: usize = 0x181E048;
-    pub const dwGlobalVars: usize = 0x16BDC98;
-    pub const dwGlowManager: usize = 0x181D7B0;
-    pub const dwInterfaceLinkList: usize = 0x191AEE8;
-    pub const dwLocalPlayerController: usize = 0x1810F48;
-    pub const dwLocalPlayerPawn: usize = 0x16C8F38;
-    pub const dwPlantedC4: usize = 0x1824A88;
-    pub const dwPrediction: usize = 0x16C8E00;
-    pub const dwSensitivity: usize = 0x181ED48;
-    pub const dwSensitivity_sensitivity: usize = 0x40;
-    pub const dwViewAngles: usize = 0x1880DC0;
-    pub const dwViewMatrix: usize = 0x1820150;
-    pub const dwViewRender: usize = 0x1820998;
-}
-
-pub mod engine2_dll { // engine2.dll
-    pub const dwBuildNumber: usize = 0x4E03D4;
-    pub const dwNetworkGameClient: usize = 0x4DF988;
-    pub const dwNetworkGameClient_getLocalPlayer: usize = 0xF0;
-    pub const dwNetworkGameClient_maxClients: usize = 0x250;
-    pub const dwNetworkGameClient_signOnState: usize = 0x240;
-    pub const dwWindowHeight: usize = 0x596E1C;
-    pub const dwWindowWidth: usize = 0x596E18;
-}
-
-pub mod game_info { // Some additional information about the game at dump time
-    pub const buildNumber: usize = 0x369F; // Game build number
-}
-
-pub mod inputsystem_dll { // inputsystem.dll
-    pub const dwInputSystem: usize = 0x35760;
-}
\ No newline at end of file
diff --git a/docs/.lock b/docs/.lock
new file mode 100644
index 0000000..e69de29
diff --git a/docs/crates.js b/docs/crates.js
new file mode 100644
index 0000000..891c5c2
--- /dev/null
+++ b/docs/crates.js
@@ -0,0 +1 @@
+window.ALL_CRATES = ["csflow","radarflow"];
\ No newline at end of file
diff --git a/docs/csflow/all.html b/docs/csflow/all.html
new file mode 100644
index 0000000..7e54b25
--- /dev/null
+++ b/docs/csflow/all.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Crate csflow</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="struct.CheatCtx.html">CheatCtx</a></li><li><a href="structs/struct.CBaseEntity.html">structs::CBaseEntity</a></li><li><a href="structs/struct.CPlayerController.html">structs::CPlayerController</a></li><li><a href="structs/struct.CPlayerPawn.html">structs::CPlayerPawn</a></li><li><a href="structs/struct.Vec3.html">structs::Vec3</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="enum.Connector.html">Connector</a></li><li><a href="enum.Error.html">Error</a></li><li><a href="enums/enum.PlayerType.html">enums::PlayerType</a></li><li><a href="enums/enum.TeamID.html">enums::TeamID</a></li></ul><h3 id="traits">Traits</h3><ul class="all-items"><li><a href="traits/trait.BaseEntity.html">traits::BaseEntity</a></li><li><a href="traits/trait.MemoryClass.html">traits::MemoryClass</a></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/context/enum.Connector.html b/docs/csflow/context/enum.Connector.html
new file mode 100644
index 0000000..25027bc
--- /dev/null
+++ b/docs/csflow/context/enum.Connector.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../csflow/enum.Connector.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../csflow/enum.Connector.html">../../csflow/enum.Connector.html</a>...</p>
+    <script>location.replace("../../csflow/enum.Connector.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/context/struct.CheatCtx.html b/docs/csflow/context/struct.CheatCtx.html
new file mode 100644
index 0000000..422c65f
--- /dev/null
+++ b/docs/csflow/context/struct.CheatCtx.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../csflow/struct.CheatCtx.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../csflow/struct.CheatCtx.html">../../csflow/struct.CheatCtx.html</a>...</p>
+    <script>location.replace("../../csflow/struct.CheatCtx.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/enum.Connector.html b/docs/csflow/enum.Connector.html
new file mode 100644
index 0000000..23520ea
--- /dev/null
+++ b/docs/csflow/enum.Connector.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Connector` enum in crate `csflow`."><title>Connector in csflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Connector</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Kvm">Kvm</a></li><li><a href="#variant.Pcileech">Pcileech</a></li><li><a href="#variant.Qemu">Qemu</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Connector">Clone</a></li><li><a href="#impl-Copy-for-Connector">Copy</a></li><li><a href="#impl-Default-for-Connector">Default</a></li><li><a href="#impl-Eq-for-Connector">Eq</a></li><li><a href="#impl-Ord-for-Connector">Ord</a></li><li><a href="#impl-PartialEq%3CConnector%3E-for-Connector">PartialEq&lt;Connector&gt;</a></li><li><a href="#impl-PartialOrd%3CConnector%3E-for-Connector">PartialOrd&lt;Connector&gt;</a></li><li><a href="#impl-StructuralEq-for-Connector">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Connector">StructuralPartialEq</a></li><li><a href="#impl-ToString-for-Connector">ToString</a></li><li><a href="#impl-ValueEnum-for-Connector">ValueEnum</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Connector">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Connector">Send</a></li><li><a href="#impl-Sync-for-Connector">Sync</a></li><li><a href="#impl-Unpin-for-Connector">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Connector">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Connector">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Connector">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Connector">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-Connector">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-Comparable%3CK%3E-for-Connector">Comparable&lt;K&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Connector">Equivalent&lt;K&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Connector-1">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-Connector">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Connector">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Connector">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-Connector">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-Connector">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Connector">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Connector">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-Connector">SelfOps</a></li><li><a href="#impl-ToOwned-for-Connector">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-Connector">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Connector">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Connector">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Connector">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="index.html">csflow</a>::<wbr><a class="enum" href="#">Connector</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/csflow/context.rs.html#115-120">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Connector {
+    Qemu,
+    Kvm,
+    Pcileech,
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Qemu" class="variant"><a href="#variant.Qemu" class="anchor">§</a><h3 class="code-header">Qemu</h3></section><section id="variant.Kvm" class="variant"><a href="#variant.Kvm" class="anchor">§</a><h3 class="code-header">Kvm</h3></section><section id="variant.Pcileech" class="variant"><a href="#variant.Pcileech" class="anchor">§</a><h3 class="code-header">Pcileech</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-Clone-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-Default-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-Ord-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#808-810">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#828-830">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#853-856">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CConnector%3E-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-PartialEq%3CConnector%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>&gt; for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CConnector%3E-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-PartialOrd%3CConnector%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;<a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>&gt; for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1090">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1107">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
+operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1123">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1140">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
+operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ToString-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#122-130">source</a><a href="#impl-ToString-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#123-129">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ValueEnum-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-ValueEnum-for-Connector" class="anchor">§</a><h3 class="code-header">impl ValueEnum for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.value_variants" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.value_variants" class="anchor">§</a><h4 class="code-header">fn <a class="fn">value_variants</a>&lt;'a&gt;() -&gt; &amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.slice.html">[Self]</a></h4></section></summary><div class='docblock'>All possible argument values, in display order.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_possible_value" class="method trait-impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#method.to_possible_value" class="anchor">§</a><h4 class="code-header">fn <a class="fn">to_possible_value</a>&lt;'a&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;PossibleValue&gt;</h4></section></summary><div class='docblock'>The canonical argument value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_str" class="method trait-impl"><a href="#method.from_str" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_str</a>(input: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, ignore_case: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</h4></section></summary><div class='docblock'>Parse an argument into <code>Self</code>.</div></details></div></details><section id="impl-Copy-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-Copy-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-Eq-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-Eq-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-StructuralEq-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-StructuralEq-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-StructuralPartialEq-for-Connector" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#114">source</a><a href="#impl-StructuralPartialEq-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Connector" class="impl"><a href="#impl-RefUnwindSafe-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-Send-for-Connector" class="impl"><a href="#impl-Send-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-Sync-for-Connector" class="impl"><a href="#impl-Sync-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-Unpin-for-Connector" class="impl"><a href="#impl-Unpin-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section><section id="impl-UnwindSafe-for-Connector" class="impl"><a href="#impl-UnwindSafe-for-Connector" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-Connector" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Comparable%3CK%3E-for-Connector" class="impl"><a href="#impl-Comparable%3CK%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Comparable&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.compare" class="method trait-impl"><a href="#method.compare" class="anchor">§</a><h4 class="code-header">fn <a class="fn">compare</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return their ordering.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Connector" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Connector-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Connector-1" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Connector" class="impl"><a href="#impl-From2%3CT%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Connector" class="impl"><a href="#impl-GetWithMetadata-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Connector" class="impl"><a href="#impl-ROExtAcc-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Connector" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Connector" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Connector" class="impl"><a href="#impl-SelfOps-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Connector" class="impl"><a href="#impl-TransmuteElement-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Connector" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Connector" class="impl"><a href="#impl-TypeIdentity-for-Connector" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/enum.Error.html b/docs/csflow/enum.Error.html
new file mode 100644
index 0000000..63adbc5
--- /dev/null
+++ b/docs/csflow/enum.Error.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Error` enum in crate `csflow`."><title>Error in csflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Error</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.GameVersionMismatch">GameVersionMismatch</a></li><li><a href="#variant.Memflow">Memflow</a></li><li><a href="#variant.MemflowPartialAddress">MemflowPartialAddress</a></li><li><a href="#variant.MemflowPartialString">MemflowPartialString</a></li><li><a href="#variant.MemflowPartialVec3">MemflowPartialVec3</a></li><li><a href="#variant.MemflowPartiali32">MemflowPartiali32</a></li><li><a href="#variant.MemflowPartialu32">MemflowPartialu32</a></li><li><a href="#variant.MemflowPartialu8">MemflowPartialu8</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-Error">Debug</a></li><li><a href="#impl-Display-for-Error">Display</a></li><li><a href="#impl-Error-for-Error">Error</a></li><li><a href="#impl-From%3CError%3E-for-Error">From&lt;Error&gt;</a></li><li><a href="#impl-From%3CPartialError%3CAddress%3E%3E-for-Error">From&lt;PartialError&lt;Address&gt;&gt;</a></li><li><a href="#impl-From%3CPartialError%3CString%3E%3E-for-Error">From&lt;PartialError&lt;String&gt;&gt;</a></li><li><a href="#impl-From%3CPartialError%3CVec3%3E%3E-for-Error">From&lt;PartialError&lt;Vec3&gt;&gt;</a></li><li><a href="#impl-From%3CPartialError%3Ci32%3E%3E-for-Error">From&lt;PartialError&lt;i32&gt;&gt;</a></li><li><a href="#impl-From%3CPartialError%3Cu32%3E%3E-for-Error">From&lt;PartialError&lt;u32&gt;&gt;</a></li><li><a href="#impl-From%3CPartialError%3Cu8%3E%3E-for-Error">From&lt;PartialError&lt;u8&gt;&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Error">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Error">Send</a></li><li><a href="#impl-Sync-for-Error">Sync</a></li><li><a href="#impl-Unpin-for-Error">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Error">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Error">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Error">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Error">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-Error">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Error">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Error">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-Error">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-Error">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Error">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Error">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-Error">SelfOps</a></li><li><a href="#impl-ToString-for-Error">ToString</a></li><li><a href="#impl-TransmuteElement-for-Error">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Error">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Error">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Error">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="index.html">csflow</a>::<wbr><a class="enum" href="#">Error</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/csflow/error.rs.html#7-33">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Error {
+    GameVersionMismatch(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>),
+    Memflow(Error),
+    MemflowPartialAddress(PartialError&lt;Address&gt;),
+    MemflowPartialVec3(PartialError&lt;<a class="struct" href="structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>&gt;),
+    MemflowPartialString(PartialError&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;),
+    MemflowPartiali32(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt;),
+    MemflowPartialu32(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt;),
+    MemflowPartialu8(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt;),
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.GameVersionMismatch" class="variant"><a href="#variant.GameVersionMismatch" class="anchor">§</a><h3 class="code-header">GameVersionMismatch(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>, <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>)</h3></section><div class="docblock"><p>Game version mismatch.
+First arg is the game version, second is the offset version.</p>
+</div><section id="variant.Memflow" class="variant"><a href="#variant.Memflow" class="anchor">§</a><h3 class="code-header">Memflow(Error)</h3></section><section id="variant.MemflowPartialAddress" class="variant"><a href="#variant.MemflowPartialAddress" class="anchor">§</a><h3 class="code-header">MemflowPartialAddress(PartialError&lt;Address&gt;)</h3></section><section id="variant.MemflowPartialVec3" class="variant"><a href="#variant.MemflowPartialVec3" class="anchor">§</a><h3 class="code-header">MemflowPartialVec3(PartialError&lt;<a class="struct" href="structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>&gt;)</h3></section><section id="variant.MemflowPartialString" class="variant"><a href="#variant.MemflowPartialString" class="anchor">§</a><h3 class="code-header">MemflowPartialString(PartialError&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;)</h3></section><section id="variant.MemflowPartiali32" class="variant"><a href="#variant.MemflowPartiali32" class="anchor">§</a><h3 class="code-header">MemflowPartiali32(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt;)</h3></section><section id="variant.MemflowPartialu32" class="variant"><a href="#variant.MemflowPartialu32" class="anchor">§</a><h3 class="code-header">MemflowPartialu32(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt;)</h3></section><section id="variant.MemflowPartialu8" class="variant"><a href="#variant.MemflowPartialu8" class="anchor">§</a><h3 class="code-header">MemflowPartialu8(PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt;)</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-Debug-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.fmt-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Display-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-Display-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, __formatter: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Error-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-Error-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.source" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.source" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.source" class="fn">source</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;(dyn <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a> + 'static)&gt;</h4></section></summary><div class='docblock'>The lower-level source of this error, if any. <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.source">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.description" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/error.rs.html#110">source</a></span><a href="#method.description" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.description" class="fn">description</a>(&amp;self) -&gt; &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.42.0: use the Display impl or to_string()</span></div></span><div class='docblock'> <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.description">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.cause" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/error.rs.html#120">source</a></span><a href="#method.cause" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.cause" class="fn">cause</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;dyn <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html" title="trait core::error::Error">Error</a>&gt;</h4></section></summary><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated since 1.33.0: replaced by Error::source, which can support downcasting</span></div></span></details><details class="toggle method-toggle" open><summary><section id="method.provide" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/error.rs.html#184">source</a><a href="#method.provide" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.provide" class="fn">provide</a>&lt;'a&gt;(&amp;'a self, request: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/error/struct.Request.html" title="struct core::error::Request">Request</a>&lt;'a&gt;)</h4></section></summary><span class="item-info"><div class="stab unstable"><span class="emoji">🔬</span><span>This is a nightly-only experimental API. (<code>error_generic_member_access</code>)</span></div></span><div class='docblock'>Provides type based access to context intended for error reports. <a href="https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html#method.provide">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CError%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CError%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;Error&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-6" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: Error) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3CAddress%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3CAddress%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;Address&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;Address&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3CString%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3CString%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3CVec3%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3CVec3%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;<a class="struct" href="structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;<a class="struct" href="structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3Ci32%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3Ci32%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3Cu32%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3Cu32%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-5" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CPartialError%3Cu8%3E%3E-for-Error" class="impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#impl-From%3CPartialError%3Cu8%3E%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt;&gt; for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-4" class="method trait-impl"><a class="src rightside" href="../src/csflow/error.rs.html#6">source</a><a href="#method.from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(source: PartialError&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Error" class="impl"><a href="#impl-RefUnwindSafe-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section><section id="impl-Send-for-Error" class="impl"><a href="#impl-Send-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section><section id="impl-Sync-for-Error" class="impl"><a href="#impl-Sync-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section><section id="impl-Unpin-for-Error" class="impl"><a href="#impl-Unpin-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section><section id="impl-UnwindSafe-for-Error" class="impl"><a href="#impl-UnwindSafe-for-Error" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-7" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Error" class="impl"><a href="#impl-From2%3CT%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Error" class="impl"><a href="#impl-GetWithMetadata-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Error" class="impl"><a href="#impl-ROExtAcc-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Error" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Error" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Error" class="impl"><a href="#impl-SelfOps-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToString-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/string.rs.html#2449">source</a><a href="#impl-ToString-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html" title="trait alloc::string::ToString">ToString</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/string.rs.html#2455">source</a><a href="#method.to_string" class="anchor">§</a><h4 class="code-header">default fn <a href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html#tymethod.to_string" class="fn">to_string</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a href="https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html#tymethod.to_string">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Error" class="impl"><a href="#impl-TransmuteElement-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Error" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Error" class="impl"><a href="#impl-TypeIdentity-for-Error" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/enums/enum.PlayerType.html b/docs/csflow/enums/enum.PlayerType.html
new file mode 100644
index 0000000..f18badc
--- /dev/null
+++ b/docs/csflow/enums/enum.PlayerType.html
@@ -0,0 +1,67 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `PlayerType` enum in crate `csflow`."><title>PlayerType in csflow::enums - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">PlayerType</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Enemy">Enemy</a></li><li><a href="#variant.Local">Local</a></li><li><a href="#variant.Spectator">Spectator</a></li><li><a href="#variant.Team">Team</a></li><li><a href="#variant.Unknown">Unknown</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-PlayerType">Clone</a></li><li><a href="#impl-Copy-for-PlayerType">Copy</a></li><li><a href="#impl-Debug-for-PlayerType">Debug</a></li><li><a href="#impl-Default-for-PlayerType">Default</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-PlayerType">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-PartialEq%3CPlayerType%3E-for-PlayerType">PartialEq&lt;PlayerType&gt;</a></li><li><a href="#impl-Serialize-for-PlayerType">Serialize</a></li><li><a href="#impl-StructuralPartialEq-for-PlayerType">StructuralPartialEq</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-PlayerType">RefUnwindSafe</a></li><li><a href="#impl-Send-for-PlayerType">Send</a></li><li><a href="#impl-Sync-for-PlayerType">Sync</a></li><li><a href="#impl-Unpin-for-PlayerType">Unpin</a></li><li><a href="#impl-UnwindSafe-for-PlayerType">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-PlayerType">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-PlayerType">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-PlayerType">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-PlayerType">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-PlayerType">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-PlayerType">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-PlayerType">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-PlayerType">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-PlayerType">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-PlayerType">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-PlayerType">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-PlayerType">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-PlayerType">SelfOps</a></li><li><a href="#impl-ToOwned-for-PlayerType">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-PlayerType">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-PlayerType">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-PlayerType">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-PlayerType">TypeIdentity</a></li><li><a href="#impl-ValidTag_Bounds-for-PlayerType">ValidTag_Bounds</a></li></ul></section><h2><a href="index.html">In csflow::enums</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../index.html">csflow</a>::<wbr><a href="index.html">enums</a>::<wbr><a class="enum" href="#">PlayerType</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/enums/player_type.rs.html#2-9">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum PlayerType {
+    Unknown,
+    Spectator,
+    Local,
+    Enemy,
+    Team,
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Unknown" class="variant"><a href="#variant.Unknown" class="anchor">§</a><h3 class="code-header">Unknown</h3></section><section id="variant.Spectator" class="variant"><a href="#variant.Spectator" class="anchor">§</a><h3 class="code-header">Spectator</h3></section><section id="variant.Local" class="variant"><a href="#variant.Local" class="anchor">§</a><h3 class="code-header">Local</h3></section><section id="variant.Enemy" class="variant"><a href="#variant.Enemy" class="anchor">§</a><h3 class="code-header">Enemy</h3></section><section id="variant.Team" class="variant"><a href="#variant.Team" class="anchor">§</a><h3 class="code-header">Team</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Clone-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Debug-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Default-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Deserialize%3C'de%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CPlayerType%3E-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-PartialEq%3CPlayerType%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a>&gt; for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Serialize-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-Copy-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section><section id="impl-StructuralPartialEq-for-PlayerType" class="impl"><a class="src rightside" href="../../src/csflow/enums/player_type.rs.html#1">source</a><a href="#impl-StructuralPartialEq-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-PlayerType" class="impl"><a href="#impl-RefUnwindSafe-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section><section id="impl-Send-for-PlayerType" class="impl"><a href="#impl-Send-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section><section id="impl-Sync-for-PlayerType" class="impl"><a href="#impl-Sync-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section><section id="impl-Unpin-for-PlayerType" class="impl"><a href="#impl-Unpin-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section><section id="impl-UnwindSafe-for-PlayerType" class="impl"><a href="#impl-UnwindSafe-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-PlayerType" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-PlayerType" class="impl"><a href="#impl-From2%3CT%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-PlayerType" class="impl"><a href="#impl-GetWithMetadata-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-PlayerType" class="impl"><a href="#impl-ROExtAcc-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-PlayerType" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-PlayerType" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-PlayerType" class="impl"><a href="#impl-SelfOps-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-PlayerType" class="impl"><a href="#impl-TransmuteElement-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-PlayerType" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-PlayerType" class="impl"><a href="#impl-TypeIdentity-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><section id="impl-DeserializeOwned-for-PlayerType" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section><section id="impl-ValidTag_Bounds-for-PlayerType" class="impl"><a href="#impl-ValidTag_Bounds-for-PlayerType" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; ValidTag_Bounds for This<span class="where fmt-newline">where
+    This: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;This&gt;,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/enums/enum.TeamID.html b/docs/csflow/enums/enum.TeamID.html
new file mode 100644
index 0000000..6451735
--- /dev/null
+++ b/docs/csflow/enums/enum.TeamID.html
@@ -0,0 +1,91 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `TeamID` enum in crate `csflow`."><title>TeamID in csflow::enums - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">TeamID</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.CT">CT</a></li><li><a href="#variant.Spectator">Spectator</a></li><li><a href="#variant.T">T</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Debug-for-TeamID">Debug</a></li><li><a href="#impl-Eq-for-TeamID">Eq</a></li><li><a href="#impl-FromPrimitive-for-TeamID">FromPrimitive</a></li><li><a href="#impl-PartialEq%3CTeamID%3E-for-TeamID">PartialEq&lt;TeamID&gt;</a></li><li><a href="#impl-StructuralEq-for-TeamID">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-TeamID">StructuralPartialEq</a></li><li><a href="#impl-ToPrimitive-for-TeamID">ToPrimitive</a></li><li><a href="#impl-TryFrom%3Ci16%3E-for-TeamID">TryFrom&lt;i16&gt;</a></li><li><a href="#impl-TryFrom%3Ci32%3E-for-TeamID">TryFrom&lt;i32&gt;</a></li><li><a href="#impl-TryFrom%3Ci64%3E-for-TeamID">TryFrom&lt;i64&gt;</a></li><li><a href="#impl-TryFrom%3Ci8%3E-for-TeamID">TryFrom&lt;i8&gt;</a></li><li><a href="#impl-TryFrom%3Cu16%3E-for-TeamID">TryFrom&lt;u16&gt;</a></li><li><a href="#impl-TryFrom%3Cu32%3E-for-TeamID">TryFrom&lt;u32&gt;</a></li><li><a href="#impl-TryFrom%3Cu64%3E-for-TeamID">TryFrom&lt;u64&gt;</a></li><li><a href="#impl-TryFrom%3Cu8%3E-for-TeamID">TryFrom&lt;u8&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-TeamID">RefUnwindSafe</a></li><li><a href="#impl-Send-for-TeamID">Send</a></li><li><a href="#impl-Sync-for-TeamID">Sync</a></li><li><a href="#impl-Unpin-for-TeamID">Unpin</a></li><li><a href="#impl-UnwindSafe-for-TeamID">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-TeamID">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-TeamID">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-TeamID">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-TeamID">Equivalent&lt;K&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-TeamID-1">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-TeamID">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-TeamID">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-TeamID">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-TeamID">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-TeamID">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-TeamID">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-TeamID">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-TeamID">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-TeamID">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-TeamID">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-TeamID">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-TeamID">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow::enums</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../index.html">csflow</a>::<wbr><a href="index.html">enums</a>::<wbr><a class="enum" href="#">TeamID</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/enums/teamid.rs.html#3-7">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(i32)]</div>pub enum TeamID {
+    Spectator,
+    T,
+    CT,
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Spectator" class="variant"><a href="#variant.Spectator" class="anchor">§</a><h3 class="code-header">Spectator</h3></section><section id="variant.T" class="variant"><a href="#variant.T" class="anchor">§</a><h3 class="code-header">T</h3></section><section id="variant.CT" class="variant"><a href="#variant.CT" class="anchor">§</a><h3 class="code-header">CT</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-Debug-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromPrimitive-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-FromPrimitive-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html" title="trait num_traits::cast::FromPrimitive">FromPrimitive</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_u64" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.from_u64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#tymethod.from_u64" class="fn">from_u64</a>(val: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>u64</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_i64" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.from_i64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#tymethod.from_i64" class="fn">from_i64</a>(val: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i64.html">i64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>i64</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_isize" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#399">source</a><a href="#method.from_isize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_isize" class="fn">from_isize</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.isize.html">isize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>isize</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_i8" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#406">source</a><a href="#method.from_i8" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_i8" class="fn">from_i8</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i8.html">i8</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>i8</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_i16" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#413">source</a><a href="#method.from_i16" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_i16" class="fn">from_i16</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i16.html">i16</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>i16</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_i32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#420">source</a><a href="#method.from_i32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_i32" class="fn">from_i32</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>i32</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_i128" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#434">source</a><a href="#method.from_i128" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_i128" class="fn">from_i128</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i128.html">i128</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>i128</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_i128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_usize" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#441">source</a><a href="#method.from_usize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_usize" class="fn">from_usize</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts a <code>usize</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_u8" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#448">source</a><a href="#method.from_u8" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_u8" class="fn">from_u8</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>u8</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_u16" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#455">source</a><a href="#method.from_u16" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_u16" class="fn">from_u16</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>u16</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_u32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#462">source</a><a href="#method.from_u32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_u32" class="fn">from_u32</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>u32</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_u128" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#476">source</a><a href="#method.from_u128" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_u128" class="fn">from_u128</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u128.html">u128</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts an <code>u128</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_u128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_f32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#483">source</a><a href="#method.from_f32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_f32" class="fn">from_f32</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts a <code>f32</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_f64" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#494">source</a><a href="#method.from_f64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_f64" class="fn">from_f64</a>(n: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f64.html">f64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;</h4></section></summary><div class='docblock'>Converts a <code>f64</code> to return an optional value of this type. If the
+value cannot be represented by this type, then <code>None</code> is returned. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html#method.from_f64">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CTeamID%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-PartialEq%3CTeamID%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ToPrimitive-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-ToPrimitive-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html" title="trait num_traits::cast::ToPrimitive">ToPrimitive</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.to_u64" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.to_u64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#tymethod.to_u64" class="fn">to_u64</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>u64</code>. If the value cannot be
+represented by a <code>u64</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i64" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.to_i64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#tymethod.to_i64" class="fn">to_i64</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i64.html">i64</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>i64</code>. If the value cannot be
+represented by an <code>i64</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_isize" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#21">source</a><a href="#method.to_isize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_isize" class="fn">to_isize</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.isize.html">isize</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>isize</code>. If the value cannot be
+represented by an <code>isize</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i8" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#28">source</a><a href="#method.to_i8" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_i8" class="fn">to_i8</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i8.html">i8</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>i8</code>. If the value cannot be
+represented by an <code>i8</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i16" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#35">source</a><a href="#method.to_i16" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_i16" class="fn">to_i16</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i16.html">i16</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>i16</code>. If the value cannot be
+represented by an <code>i16</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#42">source</a><a href="#method.to_i32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_i32" class="fn">to_i32</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>i32</code>. If the value cannot be
+represented by an <code>i32</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_i128" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#57">source</a><a href="#method.to_i128" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_i128" class="fn">to_i128</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i128.html">i128</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>i128</code>. If the value cannot be
+represented by an <code>i128</code> (<code>i64</code> under the default implementation), then
+<code>None</code> is returned. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_i128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_usize" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#64">source</a><a href="#method.to_usize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_usize" class="fn">to_usize</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>usize</code>. If the value cannot be
+represented by a <code>usize</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_u8" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#71">source</a><a href="#method.to_u8" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_u8" class="fn">to_u8</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>u8</code>. If the value cannot be
+represented by a <code>u8</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_u16" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#78">source</a><a href="#method.to_u16" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_u16" class="fn">to_u16</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>u16</code>. If the value cannot be
+represented by a <code>u16</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_u32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#85">source</a><a href="#method.to_u32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_u32" class="fn">to_u32</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>u32</code>. If the value cannot be
+represented by a <code>u32</code>, then <code>None</code> is returned.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_u128" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#100">source</a><a href="#method.to_u128" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_u128" class="fn">to_u128</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u128.html">u128</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to a <code>u128</code>. If the value cannot be
+represented by a <code>u128</code> (<code>u64</code> under the default implementation), then
+<code>None</code> is returned. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_u128">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.to_f32" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#108">source</a><a href="#method.to_f32" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_f32" class="fn">to_f32</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>f32</code>. Overflows may map to positive
+or negative inifinity, otherwise <code>None</code> is returned if the value cannot
+be represented by an <code>f32</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_f64" class="method trait-impl"><a class="src rightside" href="https://docs.rs/num-traits/0.2/src/num_traits/cast.rs.html#120">source</a><a href="#method.to_f64" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_f64" class="fn">to_f64</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f64.html">f64</a>&gt;</h4></section></summary><div class='docblock'>Converts the value of <code>self</code> to an <code>f64</code>. Overflows may map to positive
+or negative inifinity, otherwise <code>None</code> is returned if the value cannot
+be represented by an <code>f64</code>. <a href="https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html#method.to_f64">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Ci16%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Ci16%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i16.html">i16</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-6" class="associatedtype trait-impl"><a href="#associatedtype.Error-6" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-6" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-6" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i16.html">i16</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Ci32%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Ci32%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-7" class="associatedtype trait-impl"><a href="#associatedtype.Error-7" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-7" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-7" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Ci64%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Ci64%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i64.html">i64</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-1" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i64.html">i64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Ci8%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Ci8%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i8.html">i8</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i8.html">i8</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu16%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Cu16%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-4" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-4" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu32%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Cu32%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-2" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-2" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu64%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Cu64%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-3" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-3" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-TryFrom%3Cu8%3E-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-TryFrom%3Cu8%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>&gt; for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-5" class="associatedtype trait-impl"><a href="#associatedtype.Error-5" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = &amp;'static <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-5" class="method trait-impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#method.try_from-5" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Self::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><section id="impl-Eq-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-Eq-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-StructuralEq-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-StructuralEq-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-StructuralPartialEq-for-TeamID" class="impl"><a class="src rightside" href="../../src/csflow/enums/teamid.rs.html#2">source</a><a href="#impl-StructuralPartialEq-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-TeamID" class="impl"><a href="#impl-RefUnwindSafe-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-Send-for-TeamID" class="impl"><a href="#impl-Send-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-Sync-for-TeamID" class="impl"><a href="#impl-Sync-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-Unpin-for-TeamID" class="impl"><a href="#impl-Unpin-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section><section id="impl-UnwindSafe-for-TeamID" class="impl"><a href="#impl-UnwindSafe-for-TeamID" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-TeamID" class="impl"><a href="#impl-Equivalent%3CK%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-TeamID-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-TeamID-1" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-TeamID" class="impl"><a href="#impl-From2%3CT%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-TeamID" class="impl"><a href="#impl-GetWithMetadata-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-TeamID" class="impl"><a href="#impl-ROExtAcc-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-TeamID" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-TeamID" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-TeamID" class="impl"><a href="#impl-SelfOps-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-TeamID" class="impl"><a href="#impl-TransmuteElement-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-8" class="associatedtype trait-impl"><a href="#associatedtype.Error-8" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from-8" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from-8" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-TeamID" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-9" class="associatedtype trait-impl"><a href="#associatedtype.Error-9" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-TeamID" class="impl"><a href="#impl-TypeIdentity-for-TeamID" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/enums/index.html b/docs/csflow/enums/index.html
new file mode 100644
index 0000000..8e82234
--- /dev/null
+++ b/docs/csflow/enums/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `enums` mod in crate `csflow`."><title>csflow::enums - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module enums</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#enums">Enums</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">csflow</a>::<wbr><a class="mod" href="#">enums</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/enums/mod.rs.html#1-5">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a></div></li><li><div class="item-name"><a class="enum" href="enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/enums/player_type/enum.PlayerType.html b/docs/csflow/enums/player_type/enum.PlayerType.html
new file mode 100644
index 0000000..28c3a92
--- /dev/null
+++ b/docs/csflow/enums/player_type/enum.PlayerType.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../csflow/enums/enum.PlayerType.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../csflow/enums/enum.PlayerType.html">../../../csflow/enums/enum.PlayerType.html</a>...</p>
+    <script>location.replace("../../../csflow/enums/enum.PlayerType.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/enums/sidebar-items.js b/docs/csflow/enums/sidebar-items.js
new file mode 100644
index 0000000..b8eb5c0
--- /dev/null
+++ b/docs/csflow/enums/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":["PlayerType","TeamID"]};
\ No newline at end of file
diff --git a/docs/csflow/enums/teamid/enum.TeamID.html b/docs/csflow/enums/teamid/enum.TeamID.html
new file mode 100644
index 0000000..ff81ef5
--- /dev/null
+++ b/docs/csflow/enums/teamid/enum.TeamID.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../csflow/enums/enum.TeamID.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../csflow/enums/enum.TeamID.html">../../../csflow/enums/enum.TeamID.html</a>...</p>
+    <script>location.replace("../../../csflow/enums/enum.TeamID.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/error/enum.Error.html b/docs/csflow/error/enum.Error.html
new file mode 100644
index 0000000..06cff71
--- /dev/null
+++ b/docs/csflow/error/enum.Error.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../csflow/enum.Error.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../csflow/enum.Error.html">../../csflow/enum.Error.html</a>...</p>
+    <script>location.replace("../../csflow/enum.Error.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/index.html b/docs/csflow/index.html
new file mode 100644
index 0000000..38e7ae7
--- /dev/null
+++ b/docs/csflow/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `csflow` crate."><title>csflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Crate csflow</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.1.1</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">csflow</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/csflow/lib.rs.html#1-14">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="enums/index.html" title="mod csflow::enums">enums</a></div></li><li><div class="item-name"><a class="mod" href="structs/index.html" title="mod csflow::structs">structs</a></div></li><li><div class="item-name"><a class="mod" href="traits/index.html" title="mod csflow::traits">traits</a></div></li></ul><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a></div></li><li><div class="item-name"><a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/sidebar-items.js b/docs/csflow/sidebar-items.js
new file mode 100644
index 0000000..084eb87
--- /dev/null
+++ b/docs/csflow/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":["Connector","Error"],"mod":["enums","structs","traits"],"struct":["CheatCtx"]};
\ No newline at end of file
diff --git a/docs/csflow/struct.CheatCtx.html b/docs/csflow/struct.CheatCtx.html
new file mode 100644
index 0000000..ad0749f
--- /dev/null
+++ b/docs/csflow/struct.CheatCtx.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CheatCtx` struct in crate `csflow`."><title>CheatCtx in csflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../csflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CheatCtx</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.client_module">client_module</a></li><li><a href="#structfield.engine_module">engine_module</a></li><li><a href="#structfield.process">process</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.get_entity_list">get_entity_list</a></li><li><a href="#method.get_globals">get_globals</a></li><li><a href="#method.get_local">get_local</a></li><li><a href="#method.get_plantedc4">get_plantedc4</a></li><li><a href="#method.highest_entity_index">highest_entity_index</a></li><li><a href="#method.is_bomb_dropped">is_bomb_dropped</a></li><li><a href="#method.is_bomb_planted">is_bomb_planted</a></li><li><a href="#method.map_name">map_name</a></li><li><a href="#method.network_is_ingame">network_is_ingame</a></li><li><a href="#method.setup">setup</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-UnwindSafe-for-CheatCtx">!UnwindSafe</a></li><li><a href="#impl-RefUnwindSafe-for-CheatCtx">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CheatCtx">Send</a></li><li><a href="#impl-Sync-for-CheatCtx">Sync</a></li><li><a href="#impl-Unpin-for-CheatCtx">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CheatCtx">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CheatCtx">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CheatCtx">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CheatCtx">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CheatCtx">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CheatCtx">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-CheatCtx">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CheatCtx">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CheatCtx">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CheatCtx">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-CheatCtx">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-CheatCtx">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CheatCtx">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CheatCtx">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CheatCtx">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="index.html">csflow</a>::<wbr><a class="struct" href="#">CheatCtx</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/csflow/context.rs.html#5-9">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CheatCtx {
+    pub process: IntoProcessInstanceArcBox&lt;'static&gt;,
+    pub client_module: ModuleInfo,
+    pub engine_module: ModuleInfo,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.process" class="structfield small-section-header"><a href="#structfield.process" class="anchor field">§</a><code>process: IntoProcessInstanceArcBox&lt;'static&gt;</code></span><span id="structfield.client_module" class="structfield small-section-header"><a href="#structfield.client_module" class="anchor field">§</a><code>client_module: ModuleInfo</code></span><span id="structfield.engine_module" class="structfield small-section-header"><a href="#structfield.engine_module" class="anchor field">§</a><code>engine_module: ModuleInfo</code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-CheatCtx" class="impl"><a class="src rightside" href="../src/csflow/context.rs.html#11-112">source</a><a href="#impl-CheatCtx" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section></summary><div class="impl-items"><section id="method.setup" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#23-61">source</a><h4 class="code-header">pub fn <a href="#method.setup" class="fn">setup</a>(
+    connector: <a class="enum" href="enum.Connector.html" title="enum csflow::Connector">Connector</a>,
+    pcileech_device: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_local" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#63-66">source</a><h4 class="code-header">pub fn <a href="#method.get_local" class="fn">get_local</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="structs/struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_plantedc4" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#68-72">source</a><h4 class="code-header">pub fn <a href="#method.get_plantedc4" class="fn">get_plantedc4</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="structs/struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.is_bomb_planted" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#74-78">source</a><h4 class="code-header">pub fn <a href="#method.is_bomb_planted" class="fn">is_bomb_planted</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.is_bomb_dropped" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#80-84">source</a><h4 class="code-header">pub fn <a href="#method.is_bomb_dropped" class="fn">is_bomb_dropped</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_entity_list" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#86-89">source</a><h4 class="code-header">pub fn <a href="#method.get_entity_list" class="fn">get_entity_list</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Address, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_globals" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#91-94">source</a><h4 class="code-header">pub fn <a href="#method.get_globals" class="fn">get_globals</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Address, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.map_name" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#96-99">source</a><h4 class="code-header">pub fn <a href="#method.map_name" class="fn">map_name</a>(&amp;mut self, global_vars: Address) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.highest_entity_index" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#101-105">source</a><h4 class="code-header">pub fn <a href="#method.highest_entity_index" class="fn">highest_entity_index</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.network_is_ingame" class="method"><a class="src rightside" href="../src/csflow/context.rs.html#107-111">source</a><h4 class="code-header">pub fn <a href="#method.network_is_ingame" class="fn">network_is_ingame</a>(&amp;mut self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>, <a class="enum" href="enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CheatCtx" class="impl"><a href="#impl-RefUnwindSafe-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section><section id="impl-Send-for-CheatCtx" class="impl"><a href="#impl-Send-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section><section id="impl-Sync-for-CheatCtx" class="impl"><a href="#impl-Sync-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section><section id="impl-Unpin-for-CheatCtx" class="impl"><a href="#impl-Unpin-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section><section id="impl-UnwindSafe-for-CheatCtx" class="impl"><a href="#impl-UnwindSafe-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CheatCtx" class="impl"><a href="#impl-From2%3CT%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CheatCtx" class="impl"><a href="#impl-GetWithMetadata-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CheatCtx" class="impl"><a href="#impl-ROExtAcc-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CheatCtx" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CheatCtx" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CheatCtx" class="impl"><a href="#impl-SelfOps-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CheatCtx" class="impl"><a href="#impl-TransmuteElement-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CheatCtx" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CheatCtx" class="impl"><a href="#impl-TypeIdentity-for-CheatCtx" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/entity/base_entity/struct.CBaseEntity.html b/docs/csflow/structs/entity/base_entity/struct.CBaseEntity.html
new file mode 100644
index 0000000..9ebf093
--- /dev/null
+++ b/docs/csflow/structs/entity/base_entity/struct.CBaseEntity.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../../csflow/structs/struct.CBaseEntity.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../../csflow/structs/struct.CBaseEntity.html">../../../../csflow/structs/struct.CBaseEntity.html</a>...</p>
+    <script>location.replace("../../../../csflow/structs/struct.CBaseEntity.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/structs/entity/player_controller/struct.CPlayerController.html b/docs/csflow/structs/entity/player_controller/struct.CPlayerController.html
new file mode 100644
index 0000000..0874c21
--- /dev/null
+++ b/docs/csflow/structs/entity/player_controller/struct.CPlayerController.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../../csflow/structs/struct.CPlayerController.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../../csflow/structs/struct.CPlayerController.html">../../../../csflow/structs/struct.CPlayerController.html</a>...</p>
+    <script>location.replace("../../../../csflow/structs/struct.CPlayerController.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/structs/entity/player_pawn/struct.CPlayerPawn.html b/docs/csflow/structs/entity/player_pawn/struct.CPlayerPawn.html
new file mode 100644
index 0000000..0772661
--- /dev/null
+++ b/docs/csflow/structs/entity/player_pawn/struct.CPlayerPawn.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../../csflow/structs/struct.CPlayerPawn.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../../csflow/structs/struct.CPlayerPawn.html">../../../../csflow/structs/struct.CPlayerPawn.html</a>...</p>
+    <script>location.replace("../../../../csflow/structs/struct.CPlayerPawn.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/structs/index.html b/docs/csflow/structs/index.html
new file mode 100644
index 0000000..644af73
--- /dev/null
+++ b/docs/csflow/structs/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `structs` mod in crate `csflow`."><title>csflow::structs - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module structs</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">csflow</a>::<wbr><a class="mod" href="#">structs</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/structs/mod.rs.html#1-5">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></div></li><li><div class="item-name"><a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></div></li><li><div class="item-name"><a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></div></li><li><div class="item-name"><a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/sidebar-items.js b/docs/csflow/structs/sidebar-items.js
new file mode 100644
index 0000000..51c68c1
--- /dev/null
+++ b/docs/csflow/structs/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"struct":["CBaseEntity","CPlayerController","CPlayerPawn","Vec3"]};
\ No newline at end of file
diff --git a/docs/csflow/structs/struct.CBaseEntity.html b/docs/csflow/structs/struct.CBaseEntity.html
new file mode 100644
index 0000000..8c15e81
--- /dev/null
+++ b/docs/csflow/structs/struct.CBaseEntity.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CBaseEntity` struct in crate `csflow`."><title>CBaseEntity in csflow::structs - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CBaseEntity</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.to_player_controller">to_player_controller</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-BaseEntity-for-CBaseEntity">BaseEntity</a></li><li><a href="#impl-MemoryClass-for-CBaseEntity">MemoryClass</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CBaseEntity">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CBaseEntity">Send</a></li><li><a href="#impl-Sync-for-CBaseEntity">Sync</a></li><li><a href="#impl-Unpin-for-CBaseEntity">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CBaseEntity">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CBaseEntity">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CBaseEntity">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CBaseEntity">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CBaseEntity">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CBaseEntity">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CBaseEntity">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-CBaseEntity">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CBaseEntity">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CBaseEntity">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CBaseEntity">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-CBaseEntity">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-CBaseEntity">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CBaseEntity">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CBaseEntity">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CBaseEntity">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow::structs</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">csflow</a>::<wbr><a href="index.html">structs</a>::<wbr><a class="struct" href="#">CBaseEntity</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/structs/entity/base_entity.rs.html#4">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CBaseEntity(/* private fields */);</code></pre><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-CBaseEntity" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#43-47">source</a><a href="#impl-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section></summary><div class="impl-items"><section id="method.to_player_controller" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#44-46">source</a><h4 class="code-header">pub fn <a href="#method.to_player_controller" class="fn">to_player_controller</a>(&amp;self) -&gt; <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BaseEntity-for-CBaseEntity" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#16-41">source</a><a href="#impl-BaseEntity-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../traits/trait.BaseEntity.html" title="trait csflow::traits::BaseEntity">BaseEntity</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section></summary><div class="impl-items"><section id="method.from_index" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#17-29">source</a><a href="#method.from_index" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.from_index" class="fn">from_index</a>(
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address,
+    index: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a>&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.pos" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#31-34">source</a><a href="#method.pos" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.pos" class="fn">pos</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.class_name" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#36-40">source</a><a href="#method.class_name" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.class_name" class="fn">class_name</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MemoryClass-for-CBaseEntity" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#6-14">source</a><a href="#impl-MemoryClass-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../traits/trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section></summary><div class="impl-items"><section id="method.ptr" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#7-9">source</a><a href="#method.ptr" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.ptr" class="fn">ptr</a>(&amp;self) -&gt; Address</h4></section><section id="method.new" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#11-13">source</a><a href="#method.new" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.new" class="fn">new</a>(ptr: Address) -&gt; Self</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CBaseEntity" class="impl"><a href="#impl-RefUnwindSafe-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-Send-for-CBaseEntity" class="impl"><a href="#impl-Send-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-Sync-for-CBaseEntity" class="impl"><a href="#impl-Sync-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-Unpin-for-CBaseEntity" class="impl"><a href="#impl-Unpin-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-UnwindSafe-for-CBaseEntity" class="impl"><a href="#impl-UnwindSafe-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CBaseEntity" class="impl"><a href="#impl-From2%3CT%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CBaseEntity" class="impl"><a href="#impl-GetWithMetadata-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CBaseEntity" class="impl"><a href="#impl-ROExtAcc-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CBaseEntity" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CBaseEntity" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CBaseEntity" class="impl"><a href="#impl-SelfOps-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CBaseEntity" class="impl"><a href="#impl-TransmuteElement-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CBaseEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CBaseEntity" class="impl"><a href="#impl-TypeIdentity-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/struct.CPlayerController.html b/docs/csflow/structs/struct.CPlayerController.html
new file mode 100644
index 0000000..cc6f411
--- /dev/null
+++ b/docs/csflow/structs/struct.CPlayerController.html
@@ -0,0 +1,61 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CPlayerController` struct in crate `csflow`."><title>CPlayerController in csflow::structs - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CPlayerController</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.get_pawn">get_pawn</a></li><li><a href="#method.get_player_type">get_player_type</a></li><li><a href="#method.get_team">get_team</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-BaseEntity-for-CPlayerController">BaseEntity</a></li><li><a href="#impl-MemoryClass-for-CPlayerController">MemoryClass</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CPlayerController">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CPlayerController">Send</a></li><li><a href="#impl-Sync-for-CPlayerController">Sync</a></li><li><a href="#impl-Unpin-for-CPlayerController">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CPlayerController">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CPlayerController">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CPlayerController">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CPlayerController">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CPlayerController">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CPlayerController">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CPlayerController">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-CPlayerController">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CPlayerController">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CPlayerController">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CPlayerController">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-CPlayerController">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-CPlayerController">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CPlayerController">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CPlayerController">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CPlayerController">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow::structs</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">csflow</a>::<wbr><a href="index.html">structs</a>::<wbr><a class="struct" href="#">CPlayerController</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/structs/entity/player_controller.rs.html#6">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CPlayerController(/* private fields */);</code></pre><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-CPlayerController" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#45-88">source</a><a href="#impl-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section></summary><div class="impl-items"><section id="method.get_pawn" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#46-49">source</a><h4 class="code-header">pub fn <a href="#method.get_pawn" class="fn">get_pawn</a>(
+    &amp;self,
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a>&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_team" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#52-55">source</a><h4 class="code-header">pub fn <a href="#method.get_team" class="fn">get_team</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../enums/enum.TeamID.html" title="enum csflow::enums::TeamID">TeamID</a>&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.get_player_type" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#57-87">source</a><h4 class="code-header">pub fn <a href="#method.get_player_type" class="fn">get_player_type</a>(
+    &amp;self,
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    local: &amp;<a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="../enums/enum.PlayerType.html" title="enum csflow::enums::PlayerType">PlayerType</a>&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BaseEntity-for-CPlayerController" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#18-43">source</a><a href="#impl-BaseEntity-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../traits/trait.BaseEntity.html" title="trait csflow::traits::BaseEntity">BaseEntity</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section></summary><div class="impl-items"><section id="method.from_index" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#19-31">source</a><a href="#method.from_index" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.from_index" class="fn">from_index</a>(
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address,
+    index: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a>&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.pos" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#33-36">source</a><a href="#method.pos" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.pos" class="fn">pos</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.class_name" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#38-42">source</a><a href="#method.class_name" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.BaseEntity.html#tymethod.class_name" class="fn">class_name</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-MemoryClass-for-CPlayerController" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#8-16">source</a><a href="#impl-MemoryClass-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../traits/trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section></summary><div class="impl-items"><section id="method.ptr" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#9-11">source</a><a href="#method.ptr" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.ptr" class="fn">ptr</a>(&amp;self) -&gt; Address</h4></section><section id="method.new" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#13-15">source</a><a href="#method.new" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.new" class="fn">new</a>(ptr: Address) -&gt; Self</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CPlayerController" class="impl"><a href="#impl-RefUnwindSafe-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section><section id="impl-Send-for-CPlayerController" class="impl"><a href="#impl-Send-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section><section id="impl-Sync-for-CPlayerController" class="impl"><a href="#impl-Sync-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section><section id="impl-Unpin-for-CPlayerController" class="impl"><a href="#impl-Unpin-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section><section id="impl-UnwindSafe-for-CPlayerController" class="impl"><a href="#impl-UnwindSafe-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CPlayerController" class="impl"><a href="#impl-From2%3CT%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CPlayerController" class="impl"><a href="#impl-GetWithMetadata-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CPlayerController" class="impl"><a href="#impl-ROExtAcc-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CPlayerController" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CPlayerController" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CPlayerController" class="impl"><a href="#impl-SelfOps-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CPlayerController" class="impl"><a href="#impl-TransmuteElement-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CPlayerController" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CPlayerController" class="impl"><a href="#impl-TypeIdentity-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/struct.CPlayerPawn.html b/docs/csflow/structs/struct.CPlayerPawn.html
new file mode 100644
index 0000000..59fd9e5
--- /dev/null
+++ b/docs/csflow/structs/struct.CPlayerPawn.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CPlayerPawn` struct in crate `csflow`."><title>CPlayerPawn in csflow::structs - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CPlayerPawn</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.angles">angles</a></li><li><a href="#method.from_uhandle">from_uhandle</a></li><li><a href="#method.has_c4">has_c4</a></li><li><a href="#method.health">health</a></li><li><a href="#method.is_alive">is_alive</a></li><li><a href="#method.pos">pos</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-MemoryClass-for-CPlayerPawn">MemoryClass</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CPlayerPawn">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CPlayerPawn">Send</a></li><li><a href="#impl-Sync-for-CPlayerPawn">Sync</a></li><li><a href="#impl-Unpin-for-CPlayerPawn">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CPlayerPawn">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CPlayerPawn">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CPlayerPawn">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CPlayerPawn">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CPlayerPawn">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CPlayerPawn">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CPlayerPawn">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-CPlayerPawn">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CPlayerPawn">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CPlayerPawn">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CPlayerPawn">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-CPlayerPawn">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-CPlayerPawn">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CPlayerPawn">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CPlayerPawn">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CPlayerPawn">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow::structs</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">csflow</a>::<wbr><a href="index.html">structs</a>::<wbr><a class="struct" href="#">CPlayerPawn</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/structs/entity/player_pawn.rs.html#5">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CPlayerPawn(/* private fields */);</code></pre><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-CPlayerPawn" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#17-80">source</a><a href="#impl-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section></summary><div class="impl-items"><section id="method.from_uhandle" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#18-27">source</a><h4 class="code-header">pub fn <a href="#method.from_uhandle" class="fn">from_uhandle</a>(
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address,
+    uhandle: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.has_c4" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#30-62">source</a><h4 class="code-header">pub fn <a href="#method.has_c4" class="fn">has_c4</a>(
+    &amp;self,
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.pos" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#64-66">source</a><h4 class="code-header">pub fn <a href="#method.pos" class="fn">pos</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.angles" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#68-70">source</a><h4 class="code-header">pub fn <a href="#method.angles" class="fn">angles</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="method.health" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#72-74">source</a><h4 class="code-header">pub fn <a href="#method.health" class="fn">health</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u32.html">u32</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><details class="toggle method-toggle" open><summary><section id="method.is_alive" class="method"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#77-79">source</a><h4 class="code-header">pub fn <a href="#method.is_alive" class="fn">is_alive</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Same as ::get_health &gt; 0</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-MemoryClass-for-CPlayerPawn" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#7-15">source</a><a href="#impl-MemoryClass-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="../traits/trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section></summary><div class="impl-items"><section id="method.ptr" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#8-10">source</a><a href="#method.ptr" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.ptr" class="fn">ptr</a>(&amp;self) -&gt; Address</h4></section><section id="method.new" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#12-14">source</a><a href="#method.new" class="anchor">§</a><h4 class="code-header">fn <a href="../traits/trait.MemoryClass.html#tymethod.new" class="fn">new</a>(ptr: Address) -&gt; Self</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CPlayerPawn" class="impl"><a href="#impl-RefUnwindSafe-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section><section id="impl-Send-for-CPlayerPawn" class="impl"><a href="#impl-Send-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section><section id="impl-Sync-for-CPlayerPawn" class="impl"><a href="#impl-Sync-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section><section id="impl-Unpin-for-CPlayerPawn" class="impl"><a href="#impl-Unpin-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section><section id="impl-UnwindSafe-for-CPlayerPawn" class="impl"><a href="#impl-UnwindSafe-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CPlayerPawn" class="impl"><a href="#impl-From2%3CT%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CPlayerPawn" class="impl"><a href="#impl-GetWithMetadata-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CPlayerPawn" class="impl"><a href="#impl-ROExtAcc-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CPlayerPawn" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CPlayerPawn" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CPlayerPawn" class="impl"><a href="#impl-SelfOps-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CPlayerPawn" class="impl"><a href="#impl-TransmuteElement-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CPlayerPawn" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CPlayerPawn" class="impl"><a href="#impl-TypeIdentity-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/struct.Vec3.html b/docs/csflow/structs/struct.Vec3.html
new file mode 100644
index 0000000..e583c48
--- /dev/null
+++ b/docs/csflow/structs/struct.Vec3.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Vec3` struct in crate `csflow`."><title>Vec3 in csflow::structs - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Vec3</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.x">x</a></li><li><a href="#structfield.y">y</a></li><li><a href="#structfield.z">z</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Vec3">Clone</a></li><li><a href="#impl-Copy-for-Vec3">Copy</a></li><li><a href="#impl-Debug-for-Vec3">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-Vec3">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Pod-for-Vec3">Pod</a></li><li><a href="#impl-Serialize-for-Vec3">Serialize</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Vec3">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Vec3">Send</a></li><li><a href="#impl-Sync-for-Vec3">Sync</a></li><li><a href="#impl-Unpin-for-Vec3">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Vec3">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Vec3">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Vec3">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Vec3">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-Vec3">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-Vec3">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-Vec3">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Vec3">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Vec3">GetWithMetadata</a></li><li><a href="#impl-Into%3CU%3E-for-Vec3">Into&lt;U&gt;</a></li><li><a href="#impl-PodMethods-for-Vec3">PodMethods</a></li><li><a href="#impl-ROExtAcc-for-Vec3">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Vec3">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Vec3">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-SelfOps-for-Vec3">SelfOps</a></li><li><a href="#impl-ToOwned-for-Vec3">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-Vec3">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Vec3">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Vec3">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Vec3">TypeIdentity</a></li></ul></section><h2><a href="index.html">In csflow::structs</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">csflow</a>::<wbr><a href="index.html">structs</a>::<wbr><a class="struct" href="#">Vec3</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/structs/vec3.rs.html#5-9">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code><div class="code-attribute">#[repr(C)]</div>pub struct Vec3 {
+    pub x: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>,
+    pub y: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>,
+    pub z: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.x" class="structfield small-section-header"><a href="#structfield.x" class="anchor field">§</a><code>x: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a></code></span><span id="structfield.y" class="structfield small-section-header"><a href="#structfield.y" class="anchor field">§</a><code>y: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a></code></span><span id="structfield.z" class="structfield small-section-header"><a href="#structfield.z" class="anchor field">§</a><code>z: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a></code></span><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#impl-Clone-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#impl-Debug-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#impl-Deserialize%3C'de%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#impl-Serialize-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details><section id="impl-Copy-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#3">source</a><a href="#impl-Copy-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section><section id="impl-Pod-for-Vec3" class="impl"><a class="src rightside" href="../../src/csflow/structs/vec3.rs.html#11">source</a><a href="#impl-Pod-for-Vec3" class="anchor">§</a><h3 class="code-header">impl Pod for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Vec3" class="impl"><a href="#impl-RefUnwindSafe-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section><section id="impl-Send-for-Vec3" class="impl"><a href="#impl-Send-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section><section id="impl-Sync-for-Vec3" class="impl"><a href="#impl-Sync-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section><section id="impl-Unpin-for-Vec3" class="impl"><a href="#impl-Unpin-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section><section id="impl-UnwindSafe-for-Vec3" class="impl"><a href="#impl-UnwindSafe-for-Vec3" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-Vec3" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Vec3" class="impl"><a href="#impl-From2%3CT%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Vec3" class="impl"><a href="#impl-GetWithMetadata-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-PodMethods-for-Vec3" class="impl"><a href="#impl-PodMethods-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; PodMethods for T<span class="where fmt-newline">where
+    T: Pod + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.zeroed" class="method trait-impl"><a href="#method.zeroed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">zeroed</a>() -&gt; T</h4></section></summary><div class='docblock'>Returns a zero-initialized instance of the type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes" class="method trait-impl"><a href="#method.as_bytes" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_bytes</a>(&amp;self) -&gt; &amp;[<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;[u8]">ⓘ</a></h4></section></summary><div class='docblock'>Returns the object’s memory as a byte slice.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_bytes_mut" class="method trait-impl"><a href="#method.as_bytes_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_bytes_mut</a>(&amp;mut self) -&gt; &amp;mut [<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u8.html">u8</a>] <a href="#" class="tooltip" data-notable-ty="&amp;mut [u8]">ⓘ</a></h4></section></summary><div class='docblock'>Returns the object’s memory as a mutable byte slice.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_data_view" class="method trait-impl"><a href="#method.as_data_view" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_data_view</a>(&amp;self) -&gt; &amp;DataView</h4></section></summary><div class='docblock'>Returns a data view into the object’s memory.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_data_view_mut" class="method trait-impl"><a href="#method.as_data_view_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_data_view_mut</a>(&amp;mut self) -&gt; &amp;mut DataView</h4></section></summary><div class='docblock'>Returns a mutable data view into the object’s memory.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Vec3" class="impl"><a href="#impl-ROExtAcc-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Vec3" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Vec3" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Vec3" class="impl"><a href="#impl-SelfOps-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Vec3" class="impl"><a href="#impl-TransmuteElement-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Vec3" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Vec3" class="impl"><a href="#impl-TypeIdentity-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><section id="impl-DeserializeOwned-for-Vec3" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-Vec3" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section></div><script type="text/json" id="notable-traits-data">{"&[u8]":"<h3>Notable traits for <code>&amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><span class=\"where fmt-newline\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Read.html\" title=\"trait std::io::Read\">Read</a> for &amp;[<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>]</span>","&mut [u8]":"<h3>Notable traits for <code>&amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>]</code></h3><pre><code><span class=\"where fmt-newline\">impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/std/io/trait.Write.html\" title=\"trait std::io::Write\">Write</a> for &amp;mut [<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>]</span>"}</script></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/structs/vec3/struct.Vec3.html b/docs/csflow/structs/vec3/struct.Vec3.html
new file mode 100644
index 0000000..d15f989
--- /dev/null
+++ b/docs/csflow/structs/vec3/struct.Vec3.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../csflow/structs/struct.Vec3.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../csflow/structs/struct.Vec3.html">../../../csflow/structs/struct.Vec3.html</a>...</p>
+    <script>location.replace("../../../csflow/structs/struct.Vec3.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/traits/base_entity/trait.BaseEntity.html b/docs/csflow/traits/base_entity/trait.BaseEntity.html
new file mode 100644
index 0000000..27532e0
--- /dev/null
+++ b/docs/csflow/traits/base_entity/trait.BaseEntity.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../csflow/traits/trait.BaseEntity.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../csflow/traits/trait.BaseEntity.html">../../../csflow/traits/trait.BaseEntity.html</a>...</p>
+    <script>location.replace("../../../csflow/traits/trait.BaseEntity.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/traits/index.html b/docs/csflow/traits/index.html
new file mode 100644
index 0000000..7846434
--- /dev/null
+++ b/docs/csflow/traits/index.html
@@ -0,0 +1,2 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `traits` mod in crate `csflow`."><title>csflow::traits - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module traits</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">csflow</a>::<wbr><a class="mod" href="#">traits</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/traits/mod.rs.html#1-5">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.BaseEntity.html" title="trait csflow::traits::BaseEntity">BaseEntity</a></div><div class="desc docblock-short">A trait for basic functions from C_BaseEntity
+CCSPlayerController inherits C_BaseEntity, which is why this trait exists.</div></li><li><div class="item-name"><a class="trait" href="trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a></div><div class="desc docblock-short">A trait that implements basic functions for a class represented by a single pointer</div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/traits/memory_class/trait.MemoryClass.html b/docs/csflow/traits/memory_class/trait.MemoryClass.html
new file mode 100644
index 0000000..69157cf
--- /dev/null
+++ b/docs/csflow/traits/memory_class/trait.MemoryClass.html
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta http-equiv="refresh" content="0;URL=../../../csflow/traits/trait.MemoryClass.html">
+    <title>Redirection</title>
+</head>
+<body>
+    <p>Redirecting to <a href="../../../csflow/traits/trait.MemoryClass.html">../../../csflow/traits/trait.MemoryClass.html</a>...</p>
+    <script>location.replace("../../../csflow/traits/trait.MemoryClass.html" + location.search + location.hash);</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/csflow/traits/sidebar-items.js b/docs/csflow/traits/sidebar-items.js
new file mode 100644
index 0000000..c066c62
--- /dev/null
+++ b/docs/csflow/traits/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"trait":["BaseEntity","MemoryClass"]};
\ No newline at end of file
diff --git a/docs/csflow/traits/trait.BaseEntity.html b/docs/csflow/traits/trait.BaseEntity.html
new file mode 100644
index 0000000..eb2a9f3
--- /dev/null
+++ b/docs/csflow/traits/trait.BaseEntity.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A trait for basic functions from C_BaseEntity CCSPlayerController inherits C_BaseEntity, which is why this trait exists."><title>BaseEntity in csflow::traits - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">BaseEntity</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.class_name">class_name</a></li><li><a href="#tymethod.from_index">from_index</a></li><li><a href="#tymethod.pos">pos</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In csflow::traits</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="../index.html">csflow</a>::<wbr><a href="index.html">traits</a>::<wbr><a class="trait" href="#">BaseEntity</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/traits/base_entity.rs.html#7-11">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait BaseEntity {
+    // Required methods
+    fn <a href="#tymethod.from_index" class="fn">from_index</a>(
+        ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+        entity_list: Address,
+        index: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>
+    ) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;
+       <span class="where">where Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a></span>;
+<span class="item-spacer"></span>    fn <a href="#tymethod.pos" class="fn">pos</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;;
+<span class="item-spacer"></span>    fn <a href="#tymethod.class_name" class="fn">class_name</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;;
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait for basic functions from C_BaseEntity
+CCSPlayerController inherits C_BaseEntity, which is why this trait exists.</p>
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.from_index" class="method"><a class="src rightside" href="../../src/csflow/traits/base_entity.rs.html#8">source</a><h4 class="code-header">fn <a href="#tymethod.from_index" class="fn">from_index</a>(
+    ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>,
+    entity_list: Address,
+    index: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.i32.html">i32</a>
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Self&gt;, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section><section id="tymethod.pos" class="method"><a class="src rightside" href="../../src/csflow/traits/base_entity.rs.html#9">source</a><h4 class="code-header">fn <a href="#tymethod.pos" class="fn">pos</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="../structs/struct.Vec3.html" title="struct csflow::structs::Vec3">Vec3</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section><section id="tymethod.class_name" class="method"><a class="src rightside" href="../../src/csflow/traits/base_entity.rs.html#10">source</a><h4 class="code-header">fn <a href="#tymethod.class_name" class="fn">class_name</a>(&amp;self, ctx: &amp;mut <a class="struct" href="../struct.CheatCtx.html" title="struct csflow::CheatCtx">CheatCtx</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="enum" href="../enum.Error.html" title="enum csflow::Error">Error</a>&gt;</h4></section></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-BaseEntity-for-CBaseEntity" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#16-41">source</a><a href="#impl-BaseEntity-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.BaseEntity.html" title="trait csflow::traits::BaseEntity">BaseEntity</a> for <a class="struct" href="../structs/struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-BaseEntity-for-CPlayerController" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#18-43">source</a><a href="#impl-BaseEntity-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.BaseEntity.html" title="trait csflow::traits::BaseEntity">BaseEntity</a> for <a class="struct" href="../structs/struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section></div><script src="../../implementors/csflow/traits/base_entity/trait.BaseEntity.js" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/csflow/traits/trait.MemoryClass.html b/docs/csflow/traits/trait.MemoryClass.html
new file mode 100644
index 0000000..4fd3288
--- /dev/null
+++ b/docs/csflow/traits/trait.MemoryClass.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A trait that implements basic functions for a class represented by a single pointer"><title>MemoryClass in csflow::traits - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">MemoryClass</a></h2><div class="sidebar-elems"><section><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.new">new</a></li><li><a href="#tymethod.ptr">ptr</a></li></ul><h3><a href="#implementors">Implementors</a></h3></section><h2><a href="index.html">In csflow::traits</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Trait <a href="../index.html">csflow</a>::<wbr><a href="index.html">traits</a>::<wbr><a class="trait" href="#">MemoryClass</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/csflow/traits/memory_class.rs.html#4-7">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub trait MemoryClass {
+    // Required methods
+    fn <a href="#tymethod.ptr" class="fn">ptr</a>(&amp;self) -&gt; Address;
+<span class="item-spacer"></span>    fn <a href="#tymethod.new" class="fn">new</a>(ptr: Address) -&gt; Self;
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A trait that implements basic functions for a class represented by a single pointer</p>
+</div></details><h2 id="required-methods" class="small-section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><section id="tymethod.ptr" class="method"><a class="src rightside" href="../../src/csflow/traits/memory_class.rs.html#5">source</a><h4 class="code-header">fn <a href="#tymethod.ptr" class="fn">ptr</a>(&amp;self) -&gt; Address</h4></section><section id="tymethod.new" class="method"><a class="src rightside" href="../../src/csflow/traits/memory_class.rs.html#6">source</a><h4 class="code-header">fn <a href="#tymethod.new" class="fn">new</a>(ptr: Address) -&gt; Self</h4></section></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><section id="impl-MemoryClass-for-CBaseEntity" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/base_entity.rs.html#6-14">source</a><a href="#impl-MemoryClass-for-CBaseEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="../structs/struct.CBaseEntity.html" title="struct csflow::structs::CBaseEntity">CBaseEntity</a></h3></section><section id="impl-MemoryClass-for-CPlayerController" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_controller.rs.html#8-16">source</a><a href="#impl-MemoryClass-for-CPlayerController" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="../structs/struct.CPlayerController.html" title="struct csflow::structs::CPlayerController">CPlayerController</a></h3></section><section id="impl-MemoryClass-for-CPlayerPawn" class="impl"><a class="src rightside" href="../../src/csflow/structs/entity/player_pawn.rs.html#7-15">source</a><a href="#impl-MemoryClass-for-CPlayerPawn" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.MemoryClass.html" title="trait csflow::traits::MemoryClass">MemoryClass</a> for <a class="struct" href="../structs/struct.CPlayerPawn.html" title="struct csflow::structs::CPlayerPawn">CPlayerPawn</a></h3></section></div><script src="../../implementors/csflow/traits/memory_class/trait.MemoryClass.js" async></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/help.html b/docs/help.html
new file mode 100644
index 0000000..d01035c
--- /dev/null
+++ b/docs/help.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Documentation for Rustdoc"><title>Rustdoc help</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="./static.files/storage-fec3eaa3851e447d.js"></script><script defer src="./static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="./csflow/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="./csflow/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location">Help</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc help</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section><p>You need to enable JavaScript to use keyboard commands or search.</p><p>For more information, browse the <a href="https://doc.rust-lang.org/rustdoc/">rustdoc handbook</a>.</p></section></noscript></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/implementors/alloc/string/trait.ToString.js b/docs/implementors/alloc/string/trait.ToString.js
new file mode 100644
index 0000000..720dcbd
--- /dev/null
+++ b/docs/implementors/alloc/string/trait.ToString.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/alloc/string/trait.ToString.html\" title=\"trait alloc::string::ToString\">ToString</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/clap_builder/derive/trait.Args.js b/docs/implementors/clap_builder/derive/trait.Args.js
new file mode 100644
index 0000000..b6108af
--- /dev/null
+++ b/docs/implementors/clap_builder/derive/trait.Args.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"radarflow":[["impl Args for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/clap_builder/derive/trait.CommandFactory.js b/docs/implementors/clap_builder/derive/trait.CommandFactory.js
new file mode 100644
index 0000000..f4f2683
--- /dev/null
+++ b/docs/implementors/clap_builder/derive/trait.CommandFactory.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"radarflow":[["impl CommandFactory for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/clap_builder/derive/trait.FromArgMatches.js b/docs/implementors/clap_builder/derive/trait.FromArgMatches.js
new file mode 100644
index 0000000..00f80fe
--- /dev/null
+++ b/docs/implementors/clap_builder/derive/trait.FromArgMatches.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"radarflow":[["impl FromArgMatches for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/clap_builder/derive/trait.Parser.js b/docs/implementors/clap_builder/derive/trait.Parser.js
new file mode 100644
index 0000000..a5921e7
--- /dev/null
+++ b/docs/implementors/clap_builder/derive/trait.Parser.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"radarflow":[["impl Parser for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/clap_builder/derive/trait.ValueEnum.js b/docs/implementors/clap_builder/derive/trait.ValueEnum.js
new file mode 100644
index 0000000..564b089
--- /dev/null
+++ b/docs/implementors/clap_builder/derive/trait.ValueEnum.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl ValueEnum for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl ValueEnum for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/clone/trait.Clone.js b/docs/implementors/core/clone/trait.Clone.js
new file mode 100644
index 0000000..329bb13
--- /dev/null
+++ b/docs/implementors/core/clone/trait.Clone.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html\" title=\"trait core::clone::Clone\">Clone</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/cmp/trait.Eq.js b/docs/implementors/core/cmp/trait.Eq.js
new file mode 100644
index 0000000..b9ce93d
--- /dev/null
+++ b/docs/implementors/core/cmp/trait.Eq.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html\" title=\"trait core::cmp::Eq\">Eq</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/cmp/trait.Ord.js b/docs/implementors/core/cmp/trait.Ord.js
new file mode 100644
index 0000000..74d84fa
--- /dev/null
+++ b/docs/implementors/core/cmp/trait.Ord.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html\" title=\"trait core::cmp::Ord\">Ord</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/cmp/trait.PartialEq.js b/docs/implementors/core/cmp/trait.PartialEq.js
new file mode 100644
index 0000000..9470f72
--- /dev/null
+++ b/docs/implementors/core/cmp/trait.PartialEq.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>&gt; for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html\" title=\"trait core::cmp::PartialEq\">PartialEq</a>&lt;<a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>&gt; for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/cmp/trait.PartialOrd.js b/docs/implementors/core/cmp/trait.PartialOrd.js
new file mode 100644
index 0000000..a349267
--- /dev/null
+++ b/docs/implementors/core/cmp/trait.PartialOrd.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>&gt; for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html\" title=\"trait core::cmp::PartialOrd\">PartialOrd</a>&lt;<a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>&gt; for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/convert/trait.From.js b/docs/implementors/core/convert/trait.From.js
new file mode 100644
index 0000000..e7e594a
--- /dev/null
+++ b/docs/implementors/core/convert/trait.From.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.i32.html\">i32</a>&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;<a class=\"struct\" href=\"https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html\" title=\"struct alloc::string::String\">String</a>&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;Address&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;<a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;PartialError&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u32.html\">u32</a>&gt;&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;Error&gt; for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html\" title=\"trait core::convert::From\">From</a>&lt;<a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>&gt; for <a class=\"enum\" href=\"https://docs.rs/log/0.4.20/log/enum.LevelFilter.html\" title=\"enum log::LevelFilter\">LevelFilter</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/convert/trait.TryFrom.js b/docs/implementors/core/convert/trait.TryFrom.js
new file mode 100644
index 0000000..c26399f
--- /dev/null
+++ b/docs/implementors/core/convert/trait.TryFrom.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.i8.html\">i8</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.i64.html\">i64</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u32.html\">u32</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u64.html\">u64</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u16.html\">u16</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.u8.html\">u8</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.i16.html\">i16</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html\" title=\"trait core::convert::TryFrom\">TryFrom</a>&lt;<a class=\"primitive\" href=\"https://doc.rust-lang.org/1.74.0/std/primitive.i32.html\">i32</a>&gt; for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/default/trait.Default.js b/docs/implementors/core/default/trait.Default.js
new file mode 100644
index 0000000..7d34aa4
--- /dev/null
+++ b/docs/implementors/core/default/trait.Default.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html\" title=\"trait core::default::Default\">Default</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/error/trait.Error.js b/docs/implementors/core/error/trait.Error.js
new file mode 100644
index 0000000..f586f78
--- /dev/null
+++ b/docs/implementors/core/error/trait.Error.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/error/trait.Error.html\" title=\"trait core::error::Error\">Error</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/fmt/trait.Debug.js b/docs/implementors/core/fmt/trait.Debug.js
new file mode 100644
index 0000000..00e78d9
--- /dev/null
+++ b/docs/implementors/core/fmt/trait.Debug.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html\" title=\"trait core::fmt::Debug\">Debug</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/fmt/trait.Display.js b/docs/implementors/core/fmt/trait.Display.js
new file mode 100644
index 0000000..e566bd4
--- /dev/null
+++ b/docs/implementors/core/fmt/trait.Display.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/fmt/trait.Display.html\" title=\"trait core::fmt::Display\">Display</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.Copy.js b/docs/implementors/core/marker/trait.Copy.js
new file mode 100644
index 0000000..eeb570e
--- /dev/null
+++ b/docs/implementors/core/marker/trait.Copy.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html\" title=\"trait core::marker::Copy\">Copy</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.Freeze.js b/docs/implementors/core/marker/trait.Freeze.js
new file mode 100644
index 0000000..6166c3d
--- /dev/null
+++ b/docs/implementors/core/marker/trait.Freeze.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl Freeze for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl Freeze for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl Freeze for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl Freeze for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl Freeze for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl Freeze for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl Freeze for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl Freeze for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl Freeze for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.Send.js b/docs/implementors/core/marker/trait.Send.js
new file mode 100644
index 0000000..4059117
--- /dev/null
+++ b/docs/implementors/core/marker/trait.Send.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.StructuralEq.js b/docs/implementors/core/marker/trait.StructuralEq.js
new file mode 100644
index 0000000..4bf38f0
--- /dev/null
+++ b/docs/implementors/core/marker/trait.StructuralEq.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html\" title=\"trait core::marker::StructuralEq\">StructuralEq</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.StructuralPartialEq.js b/docs/implementors/core/marker/trait.StructuralPartialEq.js
new file mode 100644
index 0000000..165e38d
--- /dev/null
+++ b/docs/implementors/core/marker/trait.StructuralPartialEq.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html\" title=\"trait core::marker::StructuralPartialEq\">StructuralPartialEq</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.Sync.js b/docs/implementors/core/marker/trait.Sync.js
new file mode 100644
index 0000000..981683a
--- /dev/null
+++ b/docs/implementors/core/marker/trait.Sync.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/marker/trait.Unpin.js b/docs/implementors/core/marker/trait.Unpin.js
new file mode 100644
index 0000000..b45238a
--- /dev/null
+++ b/docs/implementors/core/marker/trait.Unpin.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
new file mode 100644
index 0000000..7491bb1
--- /dev/null
+++ b/docs/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
new file mode 100644
index 0000000..d33d9b7
--- /dev/null
+++ b/docs/implementors/core/panic/unwind_safe/trait.UnwindSafe.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"csflow/struct.CheatCtx.html\" title=\"struct csflow::CheatCtx\">CheatCtx</a>",1,["csflow::context::CheatCtx"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"csflow/enum.Connector.html\" title=\"enum csflow::Connector\">Connector</a>",1,["csflow::context::Connector"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"csflow/enum.Error.html\" title=\"enum csflow::Error\">Error</a>",1,["csflow::error::Error"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>",1,["csflow::structs::vec3::Vec3"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CBaseEntity.html\" title=\"struct csflow::structs::CBaseEntity\">CBaseEntity</a>",1,["csflow::structs::entity::base_entity::CBaseEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerController.html\" title=\"struct csflow::structs::CPlayerController\">CPlayerController</a>",1,["csflow::structs::entity::player_controller::CPlayerController"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"csflow/structs/struct.CPlayerPawn.html\" title=\"struct csflow::structs::CPlayerPawn\">CPlayerPawn</a>",1,["csflow::structs::entity::player_pawn::CPlayerPawn"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>",1,["csflow::enums::player_type::PlayerType"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>",1,["csflow::enums::teamid::TeamID"]]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>",1,["radarflow::comms::PlayerData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>",1,["radarflow::comms::BombData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>",1,["radarflow::comms::EntityData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>",1,["radarflow::comms::RadarData"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/cli/struct.Cli.html\" title=\"struct radarflow::cli::Cli\">Cli</a>",1,["radarflow::cli::Cli"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"radarflow/cli/enum.Loglevel.html\" title=\"enum radarflow::cli::Loglevel\">Loglevel</a>",1,["radarflow::cli::Loglevel"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"radarflow/dma/cache/enum.CachedEntity.html\" title=\"enum radarflow::dma::cache::CachedEntity\">CachedEntity</a>",1,["radarflow::dma::cache::CachedEntity"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.Cache.html\" title=\"struct radarflow::dma::cache::Cache\">Cache</a>",1,["radarflow::dma::cache::Cache"]],["impl <a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/dma/cache/struct.CacheBuilder.html\" title=\"struct radarflow::dma::cache::CacheBuilder\">CacheBuilder</a>",1,["radarflow::dma::cache::CacheBuilder"]],["impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"radarflow/websocket/struct.AppState.html\" title=\"struct radarflow::websocket::AppState\">AppState</a>",1,["radarflow::websocket::AppState"]]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/csflow/traits/base_entity/trait.BaseEntity.js b/docs/implementors/csflow/traits/base_entity/trait.BaseEntity.js
new file mode 100644
index 0000000..01a3111
--- /dev/null
+++ b/docs/implementors/csflow/traits/base_entity/trait.BaseEntity.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/csflow/traits/memory_class/trait.MemoryClass.js b/docs/implementors/csflow/traits/memory_class/trait.MemoryClass.js
new file mode 100644
index 0000000..01a3111
--- /dev/null
+++ b/docs/implementors/csflow/traits/memory_class/trait.MemoryClass.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/dataview/trait.Pod.js b/docs/implementors/dataview/trait.Pod.js
new file mode 100644
index 0000000..19f64a9
--- /dev/null
+++ b/docs/implementors/dataview/trait.Pod.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl Pod for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/num_traits/cast/trait.FromPrimitive.js b/docs/implementors/num_traits/cast/trait.FromPrimitive.js
new file mode 100644
index 0000000..afad559
--- /dev/null
+++ b/docs/implementors/num_traits/cast/trait.FromPrimitive.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://docs.rs/num-traits/0.2/num_traits/cast/trait.FromPrimitive.html\" title=\"trait num_traits::cast::FromPrimitive\">FromPrimitive</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/num_traits/cast/trait.ToPrimitive.js b/docs/implementors/num_traits/cast/trait.ToPrimitive.js
new file mode 100644
index 0000000..116233a
--- /dev/null
+++ b/docs/implementors/num_traits/cast/trait.ToPrimitive.js
@@ -0,0 +1,3 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://docs.rs/num-traits/0.2/num_traits/cast/trait.ToPrimitive.html\" title=\"trait num_traits::cast::ToPrimitive\">ToPrimitive</a> for <a class=\"enum\" href=\"csflow/enums/enum.TeamID.html\" title=\"enum csflow::enums::TeamID\">TeamID</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/serde/de/trait.Deserialize.js b/docs/implementors/serde/de/trait.Deserialize.js
new file mode 100644
index 0000000..df03700
--- /dev/null
+++ b/docs/implementors/serde/de/trait.Deserialize.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"]],
+"radarflow":[["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>"],["impl&lt;'de&gt; <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html\" title=\"trait serde::de::Deserialize\">Deserialize</a>&lt;'de&gt; for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/implementors/serde/ser/trait.Serialize.js b/docs/implementors/serde/ser/trait.Serialize.js
new file mode 100644
index 0000000..9cc453c
--- /dev/null
+++ b/docs/implementors/serde/ser/trait.Serialize.js
@@ -0,0 +1,4 @@
+(function() {var implementors = {
+"csflow":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"csflow/structs/struct.Vec3.html\" title=\"struct csflow::structs::Vec3\">Vec3</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"csflow/enums/enum.PlayerType.html\" title=\"enum csflow::enums::PlayerType\">PlayerType</a>"]],
+"radarflow":[["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"enum\" href=\"radarflow/comms/enum.EntityData.html\" title=\"enum radarflow::comms::EntityData\">EntityData</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"radarflow/comms/struct.BombData.html\" title=\"struct radarflow::comms::BombData\">BombData</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"radarflow/comms/struct.PlayerData.html\" title=\"struct radarflow::comms::PlayerData\">PlayerData</a>"],["impl <a class=\"trait\" href=\"https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html\" title=\"trait serde::ser::Serialize\">Serialize</a> for <a class=\"struct\" href=\"radarflow/comms/struct.RadarData.html\" title=\"struct radarflow::comms::RadarData\">RadarData</a>"]]
+};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..ef94110
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1 @@
+<meta http-equiv="refresh" content="0; url=build_wheel">
diff --git a/docs/radarflow/all.html b/docs/radarflow/all.html
new file mode 100644
index 0000000..92b11e3
--- /dev/null
+++ b/docs/radarflow/all.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="List of all items in this crate"><title>List of all items in this crate</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Crate radarflow</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#statics">Statics</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><h1>List of all items</h1><h3 id="structs">Structs</h3><ul class="all-items"><li><a href="cli/struct.Cli.html">cli::Cli</a></li><li><a href="comms/struct.BombData.html">comms::BombData</a></li><li><a href="comms/struct.PlayerData.html">comms::PlayerData</a></li><li><a href="comms/struct.RadarData.html">comms::RadarData</a></li><li><a href="dma/cache/struct.Cache.html">dma::cache::Cache</a></li><li><a href="dma/cache/struct.CacheBuilder.html">dma::cache::CacheBuilder</a></li><li><a href="websocket/struct.AppState.html">websocket::AppState</a></li></ul><h3 id="enums">Enums</h3><ul class="all-items"><li><a href="cli/enum.Loglevel.html">cli::Loglevel</a></li><li><a href="comms/enum.EntityData.html">comms::EntityData</a></li><li><a href="dma/cache/enum.CachedEntity.html">dma::cache::CachedEntity</a></li></ul><h3 id="functions">Functions</h3><ul class="all-items"><li><a href="cli/fn.poll_in_range.html">cli::poll_in_range</a></li><li><a href="cli/fn.port_in_range.html">cli::port_in_range</a></li><li><a href="cli/fn.valid_path.html">cli::valid_path</a></li><li><a href="cli/fn.version.html">cli::version</a></li><li><a href="dma/fn.run.html">dma::run</a></li><li><a href="fn.main.html">main</a></li><li><a href="websocket/fn.handle_socket.html">websocket::handle_socket</a></li><li><a href="websocket/fn.run.html">websocket::run</a></li><li><a href="websocket/fn.ws_handler.html">websocket::ws_handler</a></li></ul><h3 id="statics">Statics</h3><ul class="all-items"><li><a href="dma/static.ONCE.html">dma::ONCE</a></li></ul><h3 id="constants">Constants</h3><ul class="all-items"><li><a href="cli/constant.POLL_RANGE.html">cli::POLL_RANGE</a></li><li><a href="cli/constant.PORT_RANGE.html">cli::PORT_RANGE</a></li><li><a href="dma/constant.SECOND_AS_NANO.html">dma::SECOND_AS_NANO</a></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/constant.POLL_RANGE.html b/docs/radarflow/cli/constant.POLL_RANGE.html
new file mode 100644
index 0000000..b5f10f2
--- /dev/null
+++ b/docs/radarflow/cli/constant.POLL_RANGE.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `POLL_RANGE` constant in crate `radarflow`."><title>POLL_RANGE in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Constant <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="constant" href="#">POLL_RANGE</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#7">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>const POLL_RANGE: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/ops/range/struct.RangeInclusive.html" title="struct core::ops::range::RangeInclusive">RangeInclusive</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>&gt;;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/constant.PORT_RANGE.html b/docs/radarflow/cli/constant.PORT_RANGE.html
new file mode 100644
index 0000000..aca89f3
--- /dev/null
+++ b/docs/radarflow/cli/constant.PORT_RANGE.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `PORT_RANGE` constant in crate `radarflow`."><title>PORT_RANGE in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Constant <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="constant" href="#">PORT_RANGE</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#6">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>const PORT_RANGE: <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/ops/range/struct.RangeInclusive.html" title="struct core::ops::range::RangeInclusive">RangeInclusive</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.usize.html">usize</a>&gt;;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/enum.Loglevel.html b/docs/radarflow/cli/enum.Loglevel.html
new file mode 100644
index 0000000..d755c68
--- /dev/null
+++ b/docs/radarflow/cli/enum.Loglevel.html
@@ -0,0 +1,82 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Wrapper because log::LevelFilter doesn’t implement ValueEnum"><title>Loglevel in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Loglevel</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Debug">Debug</a></li><li><a href="#variant.Error">Error</a></li><li><a href="#variant.Info">Info</a></li><li><a href="#variant.Trace">Trace</a></li><li><a href="#variant.Warn">Warn</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-Loglevel">Clone</a></li><li><a href="#impl-Copy-for-Loglevel">Copy</a></li><li><a href="#impl-Default-for-Loglevel">Default</a></li><li><a href="#impl-Eq-for-Loglevel">Eq</a></li><li><a href="#impl-From%3CLoglevel%3E-for-LevelFilter">From&lt;Loglevel&gt;</a></li><li><a href="#impl-Ord-for-Loglevel">Ord</a></li><li><a href="#impl-PartialEq%3CLoglevel%3E-for-Loglevel">PartialEq&lt;Loglevel&gt;</a></li><li><a href="#impl-PartialOrd%3CLoglevel%3E-for-Loglevel">PartialOrd&lt;Loglevel&gt;</a></li><li><a href="#impl-StructuralEq-for-Loglevel">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Loglevel">StructuralPartialEq</a></li><li><a href="#impl-ValueEnum-for-Loglevel">ValueEnum</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Loglevel">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Loglevel">Send</a></li><li><a href="#impl-Sync-for-Loglevel">Sync</a></li><li><a href="#impl-Unpin-for-Loglevel">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Loglevel">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Loglevel">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Loglevel">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Loglevel">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-Loglevel">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-Comparable%3CK%3E-for-Loglevel">Comparable&lt;K&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Loglevel">Equivalent&lt;K&gt;</a></li><li><a href="#impl-Equivalent%3CK%3E-for-Loglevel-1">Equivalent&lt;K&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-Loglevel">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Loglevel">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-Loglevel">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Loglevel">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-Loglevel">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Loglevel">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-Loglevel">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Loglevel">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Loglevel">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-Loglevel">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-Loglevel">SelfOps</a></li><li><a href="#impl-ToOwned-for-Loglevel">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-Loglevel">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Loglevel">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Loglevel">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Loglevel">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-Loglevel">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-Loglevel">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="enum" href="#">Loglevel</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#95-102">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum Loglevel {
+    Error,
+    Warn,
+    Info,
+    Debug,
+    Trace,
+}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Wrapper because log::LevelFilter doesn’t implement ValueEnum</p>
+</div></details><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Error" class="variant"><a href="#variant.Error" class="anchor">§</a><h3 class="code-header">Error</h3></section><section id="variant.Warn" class="variant"><a href="#variant.Warn" class="anchor">§</a><h3 class="code-header">Warn</h3></section><section id="variant.Info" class="variant"><a href="#variant.Info" class="anchor">§</a><h3 class="code-header">Info</h3></section><section id="variant.Debug" class="variant"><a href="#variant.Debug" class="anchor">§</a><h3 class="code-header">Debug</h3></section><section id="variant.Trace" class="variant"><a href="#variant.Trace" class="anchor">§</a><h3 class="code-header">Trace</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-Clone-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Default-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-Default-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.default" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.default" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default" class="fn">default</a>() -&gt; <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h4></section></summary><div class='docblock'>Returns the “default value” for a type. <a href="https://doc.rust-lang.org/1.74.0/core/default/trait.Default.html#tymethod.default">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-From%3CLoglevel%3E-for-LevelFilter" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#104-114">source</a><a href="#impl-From%3CLoglevel%3E-for-LevelFilter" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>&gt; for <a class="enum" href="https://docs.rs/log/0.4.20/log/enum.LevelFilter.html" title="enum log::LevelFilter">LevelFilter</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#105-113">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(val: <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Ord-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-Ord-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.cmp" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#tymethod.cmp" class="fn">cmp</a>(&amp;self, other: &amp;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>This method returns an <a href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering"><code>Ordering</code></a> between <code>self</code> and <code>other</code>. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#tymethod.cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.max" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#808-810">source</a></span><a href="#method.max" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.max" class="fn">max</a>(self, other: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Compares and returns the maximum of two values. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.max">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.min" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.21.0">1.21.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#828-830">source</a></span><a href="#method.min" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.min" class="fn">min</a>(self, other: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Compares and returns the minimum of two values. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.min">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clamp" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.50.0">1.50.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#853-856">source</a></span><a href="#method.clamp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.clamp" class="fn">clamp</a>(self, min: Self, max: Self) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;Self&gt;,</span></h4></section></summary><div class='docblock'>Restrict a value to a certain interval. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html#method.clamp">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CLoglevel%3E-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-PartialEq%3CLoglevel%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html" title="trait core::cmp::PartialEq">PartialEq</a>&lt;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>&gt; for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.eq" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#tymethod.eq" class="fn">eq</a>(&amp;self, other: &amp;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
+by <code>==</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#231">source</a></span><a href="#method.ne" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialEq.html#method.ne" class="fn">ne</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
+sufficient, and should not be overridden without very good reason.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-PartialOrd%3CLoglevel%3E-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-PartialOrd%3CLoglevel%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html" title="trait core::cmp::PartialOrd">PartialOrd</a>&lt;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>&gt; for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.partial_cmp" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.partial_cmp" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp" class="fn">partial_cmp</a>(&amp;self, other: &amp;<a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a>&gt;</h4></section></summary><div class='docblock'>This method returns an ordering between <code>self</code> and <code>other</code> values if one exists. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#tymethod.partial_cmp">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.lt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1090">source</a></span><a href="#method.lt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.lt" class="fn">lt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;</code> operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.lt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.le" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1107">source</a></span><a href="#method.le" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.le" class="fn">le</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests less than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&lt;=</code>
+operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.le">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.gt" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1123">source</a></span><a href="#method.gt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.gt" class="fn">gt</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;</code> operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.gt">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.ge" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/cmp.rs.html#1140">source</a></span><a href="#method.ge" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.ge" class="fn">ge</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Rhs</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>This method tests greater than or equal to (for <code>self</code> and <code>other</code>) and is used by the <code>&gt;=</code>
+operator. <a href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.PartialOrd.html#method.ge">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-ValueEnum-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-ValueEnum-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl ValueEnum for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.value_variants" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.value_variants" class="anchor">§</a><h4 class="code-header">fn <a class="fn">value_variants</a>&lt;'a&gt;() -&gt; &amp;'a <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.slice.html">[Self]</a></h4></section></summary><div class='docblock'>All possible argument values, in display order.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_possible_value" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#method.to_possible_value" class="anchor">§</a><h4 class="code-header">fn <a class="fn">to_possible_value</a>&lt;'a&gt;(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;PossibleValue&gt;</h4></section></summary><div class='docblock'>The canonical argument value. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_str" class="method trait-impl"><a href="#method.from_str" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_str</a>(input: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>, ignore_case: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</h4></section></summary><div class='docblock'>Parse an argument into <code>Self</code>.</div></details></div></details><section id="impl-Copy-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-Copy-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-Eq-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-Eq-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-StructuralEq-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-StructuralEq-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralEq.html" title="trait core::marker::StructuralEq">StructuralEq</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-StructuralPartialEq-for-Loglevel" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#94">source</a><a href="#impl-StructuralPartialEq-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.StructuralPartialEq.html" title="trait core::marker::StructuralPartialEq">StructuralPartialEq</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Loglevel" class="impl"><a href="#impl-RefUnwindSafe-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-Send-for-Loglevel" class="impl"><a href="#impl-Send-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-Sync-for-Loglevel" class="impl"><a href="#impl-Sync-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-Unpin-for-Loglevel" class="impl"><a href="#impl-Unpin-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section><section id="impl-UnwindSafe-for-Loglevel" class="impl"><a href="#impl-UnwindSafe-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-Loglevel" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Comparable%3CK%3E-for-Loglevel" class="impl"><a href="#impl-Comparable%3CK%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Comparable&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Ord.html" title="trait core::cmp::Ord">Ord</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.compare" class="method trait-impl"><a href="#method.compare" class="anchor">§</a><h4 class="code-header">fn <a class="fn">compare</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/cmp/enum.Ordering.html" title="enum core::cmp::Ordering">Ordering</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return their ordering.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Loglevel" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent" class="method trait-impl"><a href="#method.equivalent" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Checks if this value is equivalent to the given key. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Equivalent%3CK%3E-for-Loglevel-1" class="impl"><a href="#impl-Equivalent%3CK%3E-for-Loglevel-1" class="anchor">§</a><h3 class="code-header">impl&lt;Q, K&gt; Equivalent&lt;K&gt; for Q<span class="where fmt-newline">where
+    Q: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/cmp/trait.Eq.html" title="trait core::cmp::Eq">Eq</a> + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    K: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;Q&gt; + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.equivalent-1" class="method trait-impl"><a href="#method.equivalent-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">equivalent</a>(&amp;self, key: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;K</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compare self to <code>key</code> and return <code>true</code> if they are equal.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from-1" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Loglevel" class="impl"><a href="#impl-From2%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-Loglevel" class="impl"><a href="#impl-FromRef%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Loglevel" class="impl"><a href="#impl-GetWithMetadata-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-Loglevel" class="impl"><a href="#impl-Instrument-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Loglevel" class="impl"><a href="#impl-ROExtAcc-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Loglevel" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Loglevel" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Loglevel" class="impl"><a href="#impl-SelfOps-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Loglevel" class="impl"><a href="#impl-TransmuteElement-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Loglevel" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Loglevel" class="impl"><a href="#impl-TypeIdentity-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-Loglevel" class="impl"><a href="#impl-VZip%3CV%3E-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Loglevel" class="impl"><a href="#impl-WithSubscriber-for-Loglevel" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/fn.poll_in_range.html b/docs/radarflow/cli/fn.poll_in_range.html
new file mode 100644
index 0000000..bbf19c3
--- /dev/null
+++ b/docs/radarflow/cli/fn.poll_in_range.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `poll_in_range` fn in crate `radarflow`."><title>poll_in_range in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="fn" href="#">poll_in_range</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#78-91">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>fn poll_in_range(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/fn.port_in_range.html b/docs/radarflow/cli/fn.port_in_range.html
new file mode 100644
index 0000000..f9b4012
--- /dev/null
+++ b/docs/radarflow/cli/fn.port_in_range.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `port_in_range` fn in crate `radarflow`."><title>port_in_range in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="fn" href="#">port_in_range</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#49-62">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>fn port_in_range(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/fn.valid_path.html b/docs/radarflow/cli/fn.valid_path.html
new file mode 100644
index 0000000..ed3649c
--- /dev/null
+++ b/docs/radarflow/cli/fn.valid_path.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `valid_path` fn in crate `radarflow`."><title>valid_path in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="fn" href="#">valid_path</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#64-76">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>fn valid_path(s: &amp;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.str.html">str</a>) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/fn.version.html b/docs/radarflow/cli/fn.version.html
new file mode 100644
index 0000000..7d33ccd
--- /dev/null
+++ b/docs/radarflow/cli/fn.version.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `version` fn in crate `radarflow`."><title>version in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="fn" href="#">version</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#37-47">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>fn version() -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/index.html b/docs/radarflow/cli/index.html
new file mode 100644
index 0000000..222bfeb
--- /dev/null
+++ b/docs/radarflow/cli/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `cli` mod in crate `radarflow`."><title>radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module cli</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">radarflow</a>::<wbr><a class="mod" href="#">cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#1-114">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></div><div class="desc docblock-short">Wrapper because log::LevelFilter doesn’t implement ValueEnum</div></li></ul><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.POLL_RANGE.html" title="constant radarflow::cli::POLL_RANGE">POLL_RANGE</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="constant" href="constant.PORT_RANGE.html" title="constant radarflow::cli::PORT_RANGE">PORT_RANGE</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.poll_in_range.html" title="fn radarflow::cli::poll_in_range">poll_in_range</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.port_in_range.html" title="fn radarflow::cli::port_in_range">port_in_range</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.valid_path.html" title="fn radarflow::cli::valid_path">valid_path</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.version.html" title="fn radarflow::cli::version">version</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/cli/sidebar-items.js b/docs/radarflow/cli/sidebar-items.js
new file mode 100644
index 0000000..8b28ceb
--- /dev/null
+++ b/docs/radarflow/cli/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"constant":["POLL_RANGE","PORT_RANGE"],"enum":["Loglevel"],"fn":["poll_in_range","port_in_range","valid_path","version"],"struct":["Cli"]};
\ No newline at end of file
diff --git a/docs/radarflow/cli/struct.Cli.html b/docs/radarflow/cli/struct.Cli.html
new file mode 100644
index 0000000..d13e867
--- /dev/null
+++ b/docs/radarflow/cli/struct.Cli.html
@@ -0,0 +1,84 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cli` struct in crate `radarflow`."><title>Cli in radarflow::cli - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Cli</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.connector">connector</a></li><li><a href="#structfield.loglevel">loglevel</a></li><li><a href="#structfield.pcileech_device">pcileech_device</a></li><li><a href="#structfield.poll_rate">poll_rate</a></li><li><a href="#structfield.port">port</a></li><li><a href="#structfield.web_path">web_path</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Args-for-Cli">Args</a></li><li><a href="#impl-CommandFactory-for-Cli">CommandFactory</a></li><li><a href="#impl-FromArgMatches-for-Cli">FromArgMatches</a></li><li><a href="#impl-Parser-for-Cli">Parser</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Cli">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Cli">Send</a></li><li><a href="#impl-Sync-for-Cli">Sync</a></li><li><a href="#impl-Unpin-for-Cli">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Cli">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Cli">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Cli">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Cli">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-Cli">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Cli">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Cli">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-Cli">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Cli">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-Cli">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Cli">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Cli">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-Cli">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-Cli">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-Cli">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Cli">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Cli">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Cli">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-Cli">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-Cli">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::cli</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">radarflow</a>::<wbr><a href="index.html">cli</a>::<wbr><a class="struct" href="#">Cli</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/cli.rs.html#11-35">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Cli {
+    pub connector: Connector,
+    pub pcileech_device: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
+    pub port: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>,
+    pub web_path: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>,
+    pub poll_rate: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>,
+    pub loglevel: <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.connector" class="structfield small-section-header"><a href="#structfield.connector" class="anchor field">§</a><code>connector: Connector</code></span><div class="docblock"><p>Specifies the connector type for DMA</p>
+</div><span id="structfield.pcileech_device" class="structfield small-section-header"><a href="#structfield.pcileech_device" class="anchor field">§</a><code>pcileech_device: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><div class="docblock"><p>Name of the Pcileech device</p>
+</div><span id="structfield.port" class="structfield small-section-header"><a href="#structfield.port" class="anchor field">§</a><code>port: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a></code></span><div class="docblock"><p>Port number for the Webserver to run on</p>
+</div><span id="structfield.web_path" class="structfield small-section-header"><a href="#structfield.web_path" class="anchor field">§</a><code>web_path: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a></code></span><div class="docblock"><p>Path to the directory served by the Webserver</p>
+</div><span id="structfield.poll_rate" class="structfield small-section-header"><a href="#structfield.poll_rate" class="anchor field">§</a><code>poll_rate: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a></code></span><div class="docblock"><p>Polling frequency in times per second for the DMA thread</p>
+</div><span id="structfield.loglevel" class="structfield small-section-header"><a href="#structfield.loglevel" class="anchor field">§</a><code>loglevel: <a class="enum" href="enum.Loglevel.html" title="enum radarflow::cli::Loglevel">Loglevel</a></code></span><div class="docblock"><p>Verbosity level for logging to the console</p>
+</div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Args-for-Cli" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#impl-Args-for-Cli" class="anchor">§</a><h3 class="code-header">impl Args for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.group_id" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.group_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">group_id</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Id&gt;</h4></section></summary><div class='docblock'>Report the [<code>ArgGroup::id</code>][crate::ArgGroup::id] for this set of arguments</div></details><details class="toggle method-toggle" open><summary><section id="method.augment_args" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.augment_args" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args</a>&lt;'b&gt;(__clap_app: Command) -&gt; Command</h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.augment_args_for_update" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.augment_args_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">augment_args_for_update</a>&lt;'b&gt;(__clap_app: Command) -&gt; Command</h4></section></summary><div class='docblock'>Append to [<code>Command</code>] so it can update <code>self</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-CommandFactory-for-Cli" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#impl-CommandFactory-for-Cli" class="anchor">§</a><h3 class="code-header">impl CommandFactory for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.command" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.command" class="anchor">§</a><h4 class="code-header">fn <a class="fn">command</a>&lt;'b&gt;() -&gt; Command</h4></section></summary><div class='docblock'>Build a [<code>Command</code>] that can instantiate <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.command_for_update" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.command_for_update" class="anchor">§</a><h4 class="code-header">fn <a class="fn">command_for_update</a>&lt;'b&gt;() -&gt; Command</h4></section></summary><div class='docblock'>Build a [<code>Command</code>] that can update <code>self</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-FromArgMatches-for-Cli" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#impl-FromArgMatches-for-Cli" class="anchor">§</a><h3 class="code-header">impl FromArgMatches for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches</a>(__clap_arg_matches: &amp;ArgMatches) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Error&gt;</h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_arg_matches_mut</a>(
+    __clap_arg_matches: &amp;mut ArgMatches
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Error&gt;</h4></section></summary><div class='docblock'>Instantiate <code>Self</code> from [<code>ArgMatches</code>], parsing the arguments as needed. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.update_from_arg_matches" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches</a>(
+    &amp;mut self,
+    __clap_arg_matches: &amp;ArgMatches
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>, Error&gt;</h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from_arg_matches_mut" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#method.update_from_arg_matches_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from_arg_matches_mut</a>(
+    &amp;mut self,
+    __clap_arg_matches: &amp;mut ArgMatches
+) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>, Error&gt;</h4></section></summary><div class='docblock'>Assign values from <code>ArgMatches</code> to <code>self</code>.</div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Parser-for-Cli" class="impl"><a class="src rightside" href="../../src/radarflow/cli.rs.html#9">source</a><a href="#impl-Parser-for-Cli" class="anchor">§</a><h3 class="code-header">impl Parser for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.parse" class="method trait-impl"><a href="#method.parse" class="anchor">§</a><h4 class="code-header">fn <a class="fn">parse</a>() -&gt; Self</h4></section></summary><div class='docblock'>Parse from <code>std::env::args_os()</code>, exit on error</div></details><details class="toggle method-toggle" open><summary><section id="method.try_parse" class="method trait-impl"><a href="#method.try_parse" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_parse</a>() -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Error&lt;RichFormatter&gt;&gt;</h4></section></summary><div class='docblock'>Parse from <code>std::env::args_os()</code>, return Err on error.</div></details><details class="toggle method-toggle" open><summary><section id="method.parse_from" class="method trait-impl"><a href="#method.parse_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">parse_from</a>&lt;I, T&gt;(itr: I) -&gt; Self<span class="where fmt-newline">where
+    I: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = T&gt;,
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/ffi/os_str/struct.OsString.html" title="struct std::ffi::os_str::OsString">OsString</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h4></section></summary><div class='docblock'>Parse from iterator, exit on error</div></details><details class="toggle method-toggle" open><summary><section id="method.try_parse_from" class="method trait-impl"><a href="#method.try_parse_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_parse_from</a>&lt;I, T&gt;(itr: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, Error&lt;RichFormatter&gt;&gt;<span class="where fmt-newline">where
+    I: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = T&gt;,
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/ffi/os_str/struct.OsString.html" title="struct std::ffi::os_str::OsString">OsString</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h4></section></summary><div class='docblock'>Parse from iterator, return Err on error.</div></details><details class="toggle method-toggle" open><summary><section id="method.update_from" class="method trait-impl"><a href="#method.update_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">update_from</a>&lt;I, T&gt;(&amp;mut self, itr: I)<span class="where fmt-newline">where
+    I: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = T&gt;,
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/ffi/os_str/struct.OsString.html" title="struct std::ffi::os_str::OsString">OsString</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h4></section></summary><div class='docblock'>Update from iterator, exit on error</div></details><details class="toggle method-toggle" open><summary><section id="method.try_update_from" class="method trait-impl"><a href="#method.try_update_from" class="anchor">§</a><h4 class="code-header">fn <a class="fn">try_update_from</a>&lt;I, T&gt;(&amp;mut self, itr: I) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>, Error&lt;RichFormatter&gt;&gt;<span class="where fmt-newline">where
+    I: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/iter/traits/collect/trait.IntoIterator.html" title="trait core::iter::traits::collect::IntoIterator">IntoIterator</a>&lt;Item = T&gt;,
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/std/ffi/os_str/struct.OsString.html" title="struct std::ffi::os_str::OsString">OsString</a>&gt; + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h4></section></summary><div class='docblock'>Update from iterator, return Err on error.</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Cli" class="impl"><a href="#impl-RefUnwindSafe-for-Cli" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section><section id="impl-Send-for-Cli" class="impl"><a href="#impl-Send-for-Cli" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section><section id="impl-Sync-for-Cli" class="impl"><a href="#impl-Sync-for-Cli" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section><section id="impl-Unpin-for-Cli" class="impl"><a href="#impl-Unpin-for-Cli" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section><section id="impl-UnwindSafe-for-Cli" class="impl"><a href="#impl-UnwindSafe-for-Cli" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Cli.html" title="struct radarflow::cli::Cli">Cli</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Cli" class="impl"><a href="#impl-From2%3CT%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Cli" class="impl"><a href="#impl-GetWithMetadata-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-Cli" class="impl"><a href="#impl-Instrument-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Cli" class="impl"><a href="#impl-ROExtAcc-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Cli" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Cli" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Cli" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Cli" class="impl"><a href="#impl-SelfOps-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Cli" class="impl"><a href="#impl-TransmuteElement-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Cli" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Cli" class="impl"><a href="#impl-TypeIdentity-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-Cli" class="impl"><a href="#impl-VZip%3CV%3E-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Cli" class="impl"><a href="#impl-WithSubscriber-for-Cli" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/comms/enum.EntityData.html b/docs/radarflow/comms/enum.EntityData.html
new file mode 100644
index 0000000..bfe761c
--- /dev/null
+++ b/docs/radarflow/comms/enum.EntityData.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `EntityData` enum in crate `radarflow`."><title>EntityData in radarflow::comms - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">EntityData</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Bomb">Bomb</a></li><li><a href="#variant.Player">Player</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-EntityData">Clone</a></li><li><a href="#impl-Debug-for-EntityData">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-EntityData">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Serialize-for-EntityData">Serialize</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-EntityData">RefUnwindSafe</a></li><li><a href="#impl-Send-for-EntityData">Send</a></li><li><a href="#impl-Sync-for-EntityData">Sync</a></li><li><a href="#impl-Unpin-for-EntityData">Unpin</a></li><li><a href="#impl-UnwindSafe-for-EntityData">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-EntityData">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-EntityData">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-EntityData">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-EntityData">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-EntityData">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-EntityData">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-EntityData">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-EntityData">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-EntityData">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-EntityData">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-EntityData">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-EntityData">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-EntityData">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-EntityData">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-EntityData">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-EntityData">SelfOps</a></li><li><a href="#impl-ToOwned-for-EntityData">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-EntityData">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-EntityData">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-EntityData">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-EntityData">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-EntityData">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-EntityData">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::comms</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../index.html">radarflow</a>::<wbr><a href="index.html">comms</a>::<wbr><a class="enum" href="#">EntityData</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/comms.rs.html#36-39">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum EntityData {
+    Player(<a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a>),
+    Bomb(<a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a>),
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Player" class="variant"><a href="#variant.Player" class="anchor">§</a><h3 class="code-header">Player(<a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a>)</h3></section><section id="variant.Bomb" class="variant"><a href="#variant.Bomb" class="anchor">§</a><h3 class="code-header">Bomb(<a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a>)</h3></section></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-EntityData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#impl-Clone-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-EntityData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#impl-Debug-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-EntityData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#impl-Deserialize%3C'de%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-EntityData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#impl-Serialize-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#35">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-EntityData" class="impl"><a href="#impl-RefUnwindSafe-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section><section id="impl-Send-for-EntityData" class="impl"><a href="#impl-Send-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section><section id="impl-Sync-for-EntityData" class="impl"><a href="#impl-Sync-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section><section id="impl-Unpin-for-EntityData" class="impl"><a href="#impl-Unpin-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section><section id="impl-UnwindSafe-for-EntityData" class="impl"><a href="#impl-UnwindSafe-for-EntityData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-EntityData" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-EntityData" class="impl"><a href="#impl-From2%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-EntityData" class="impl"><a href="#impl-FromRef%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-EntityData" class="impl"><a href="#impl-GetWithMetadata-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-EntityData" class="impl"><a href="#impl-Instrument-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-EntityData" class="impl"><a href="#impl-ROExtAcc-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-EntityData" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-EntityData" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-EntityData" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-EntityData" class="impl"><a href="#impl-SelfOps-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-EntityData" class="impl"><a href="#impl-TransmuteElement-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-EntityData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-EntityData" class="impl"><a href="#impl-TypeIdentity-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-EntityData" class="impl"><a href="#impl-VZip%3CV%3E-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-EntityData" class="impl"><a href="#impl-WithSubscriber-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-DeserializeOwned-for-EntityData" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-EntityData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/comms/index.html b/docs/radarflow/comms/index.html
new file mode 100644
index 0000000..a64303e
--- /dev/null
+++ b/docs/radarflow/comms/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `comms` mod in crate `radarflow`."><title>radarflow::comms - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module comms</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">radarflow</a>::<wbr><a class="mod" href="#">comms</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/comms.rs.html#1-68">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></div></li><li><div class="item-name"><a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></div></li><li><div class="item-name"><a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/comms/sidebar-items.js b/docs/radarflow/comms/sidebar-items.js
new file mode 100644
index 0000000..f06afaa
--- /dev/null
+++ b/docs/radarflow/comms/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":["EntityData"],"struct":["BombData","PlayerData","RadarData"]};
\ No newline at end of file
diff --git a/docs/radarflow/comms/struct.BombData.html b/docs/radarflow/comms/struct.BombData.html
new file mode 100644
index 0000000..ee5d1be
--- /dev/null
+++ b/docs/radarflow/comms/struct.BombData.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `BombData` struct in crate `radarflow`."><title>BombData in radarflow::comms - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">BombData</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.is_planted">is_planted</a></li><li><a href="#structfield.pos">pos</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-BombData">Clone</a></li><li><a href="#impl-Debug-for-BombData">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-BombData">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Serialize-for-BombData">Serialize</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-BombData">RefUnwindSafe</a></li><li><a href="#impl-Send-for-BombData">Send</a></li><li><a href="#impl-Sync-for-BombData">Sync</a></li><li><a href="#impl-Unpin-for-BombData">Unpin</a></li><li><a href="#impl-UnwindSafe-for-BombData">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-BombData">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-BombData">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-BombData">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-BombData">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-BombData">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-BombData">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-BombData">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-BombData">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-BombData">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-BombData">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-BombData">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-BombData">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-BombData">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-BombData">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-BombData">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-BombData">SelfOps</a></li><li><a href="#impl-ToOwned-for-BombData">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-BombData">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-BombData">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-BombData">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-BombData">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-BombData">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-BombData">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::comms</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">radarflow</a>::<wbr><a href="index.html">comms</a>::<wbr><a class="struct" href="#">BombData</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/comms.rs.html#22-26">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct BombData {
+    pos: Vec3,
+    is_planted: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.pos" class="structfield small-section-header"><a href="#structfield.pos" class="anchor field">§</a><code>pos: Vec3</code></span><span id="structfield.is_planted" class="structfield small-section-header"><a href="#structfield.is_planted" class="anchor field">§</a><code>is_planted: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-BombData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#29-33">source</a><a href="#impl-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../src/radarflow/comms.rs.html#30-32">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(pos: Vec3, is_planted: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-BombData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#impl-Clone-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-BombData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#impl-Debug-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-BombData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#impl-Deserialize%3C'de%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-BombData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#impl-Serialize-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#21">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-BombData" class="impl"><a href="#impl-RefUnwindSafe-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section><section id="impl-Send-for-BombData" class="impl"><a href="#impl-Send-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section><section id="impl-Sync-for-BombData" class="impl"><a href="#impl-Sync-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section><section id="impl-Unpin-for-BombData" class="impl"><a href="#impl-Unpin-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section><section id="impl-UnwindSafe-for-BombData" class="impl"><a href="#impl-UnwindSafe-for-BombData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.BombData.html" title="struct radarflow::comms::BombData">BombData</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-BombData" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-BombData" class="impl"><a href="#impl-From2%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-BombData" class="impl"><a href="#impl-FromRef%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-BombData" class="impl"><a href="#impl-GetWithMetadata-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-BombData" class="impl"><a href="#impl-Instrument-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-BombData" class="impl"><a href="#impl-ROExtAcc-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-BombData" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-BombData" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-BombData" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-BombData" class="impl"><a href="#impl-SelfOps-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-BombData" class="impl"><a href="#impl-TransmuteElement-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-BombData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-BombData" class="impl"><a href="#impl-TypeIdentity-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-BombData" class="impl"><a href="#impl-VZip%3CV%3E-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-BombData" class="impl"><a href="#impl-WithSubscriber-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-DeserializeOwned-for-BombData" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-BombData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/comms/struct.PlayerData.html b/docs/radarflow/comms/struct.PlayerData.html
new file mode 100644
index 0000000..97d50ea
--- /dev/null
+++ b/docs/radarflow/comms/struct.PlayerData.html
@@ -0,0 +1,75 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `PlayerData` struct in crate `radarflow`."><title>PlayerData in radarflow::comms - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">PlayerData</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.has_bomb">has_bomb</a></li><li><a href="#structfield.player_type">player_type</a></li><li><a href="#structfield.pos">pos</a></li><li><a href="#structfield.yaw">yaw</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-PlayerData">Clone</a></li><li><a href="#impl-Debug-for-PlayerData">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-PlayerData">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Serialize-for-PlayerData">Serialize</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-PlayerData">RefUnwindSafe</a></li><li><a href="#impl-Send-for-PlayerData">Send</a></li><li><a href="#impl-Sync-for-PlayerData">Sync</a></li><li><a href="#impl-Unpin-for-PlayerData">Unpin</a></li><li><a href="#impl-UnwindSafe-for-PlayerData">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-PlayerData">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-PlayerData">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-PlayerData">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-PlayerData">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-PlayerData">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-PlayerData">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-PlayerData">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-PlayerData">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-PlayerData">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-PlayerData">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-PlayerData">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-PlayerData">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-PlayerData">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-PlayerData">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-PlayerData">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-PlayerData">SelfOps</a></li><li><a href="#impl-ToOwned-for-PlayerData">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-PlayerData">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-PlayerData">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-PlayerData">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-PlayerData">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-PlayerData">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-PlayerData">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::comms</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">radarflow</a>::<wbr><a href="index.html">comms</a>::<wbr><a class="struct" href="#">PlayerData</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/comms.rs.html#5-13">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct PlayerData {
+    pos: Vec3,
+    yaw: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>,
+    player_type: PlayerType,
+    has_bomb: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.pos" class="structfield small-section-header"><a href="#structfield.pos" class="anchor field">§</a><code>pos: Vec3</code></span><span id="structfield.yaw" class="structfield small-section-header"><a href="#structfield.yaw" class="anchor field">§</a><code>yaw: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a></code></span><span id="structfield.player_type" class="structfield small-section-header"><a href="#structfield.player_type" class="anchor field">§</a><code>player_type: PlayerType</code></span><span id="structfield.has_bomb" class="structfield small-section-header"><a href="#structfield.has_bomb" class="anchor field">§</a><code>has_bomb: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-PlayerData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#15-19">source</a><a href="#impl-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../src/radarflow/comms.rs.html#16-18">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    pos: Vec3,
+    yaw: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.f32.html">f32</a>,
+    player_type: PlayerType,
+    has_bomb: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>
+) -&gt; <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h4></section></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-PlayerData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#impl-Clone-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-PlayerData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#impl-Debug-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-PlayerData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#impl-Deserialize%3C'de%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-PlayerData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#impl-Serialize-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#4">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-PlayerData" class="impl"><a href="#impl-RefUnwindSafe-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section><section id="impl-Send-for-PlayerData" class="impl"><a href="#impl-Send-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section><section id="impl-Sync-for-PlayerData" class="impl"><a href="#impl-Sync-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section><section id="impl-Unpin-for-PlayerData" class="impl"><a href="#impl-Unpin-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section><section id="impl-UnwindSafe-for-PlayerData" class="impl"><a href="#impl-UnwindSafe-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.PlayerData.html" title="struct radarflow::comms::PlayerData">PlayerData</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-PlayerData" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-PlayerData" class="impl"><a href="#impl-From2%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-PlayerData" class="impl"><a href="#impl-FromRef%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-PlayerData" class="impl"><a href="#impl-GetWithMetadata-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-PlayerData" class="impl"><a href="#impl-Instrument-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-PlayerData" class="impl"><a href="#impl-ROExtAcc-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-PlayerData" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-PlayerData" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-PlayerData" class="impl"><a href="#impl-SelfOps-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-PlayerData" class="impl"><a href="#impl-TransmuteElement-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-PlayerData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-PlayerData" class="impl"><a href="#impl-TypeIdentity-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-PlayerData" class="impl"><a href="#impl-VZip%3CV%3E-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-PlayerData" class="impl"><a href="#impl-WithSubscriber-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-DeserializeOwned-for-PlayerData" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-PlayerData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/comms/struct.RadarData.html b/docs/radarflow/comms/struct.RadarData.html
new file mode 100644
index 0000000..ab9ea5b
--- /dev/null
+++ b/docs/radarflow/comms/struct.RadarData.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `RadarData` struct in crate `radarflow`."><title>RadarData in radarflow::comms - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">RadarData</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.ingame">ingame</a></li><li><a href="#structfield.map_name">map_name</a></li><li><a href="#structfield.player_data">player_data</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.empty">empty</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-RadarData">Clone</a></li><li><a href="#impl-Debug-for-RadarData">Debug</a></li><li><a href="#impl-Deserialize%3C'de%3E-for-RadarData">Deserialize&lt;&#x27;de&gt;</a></li><li><a href="#impl-Serialize-for-RadarData">Serialize</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-RadarData">RefUnwindSafe</a></li><li><a href="#impl-Send-for-RadarData">Send</a></li><li><a href="#impl-Sync-for-RadarData">Sync</a></li><li><a href="#impl-Unpin-for-RadarData">Unpin</a></li><li><a href="#impl-UnwindSafe-for-RadarData">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-RadarData">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-RadarData">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-RadarData">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-RadarData">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-DeserializeOwned-for-RadarData">DeserializeOwned</a></li><li><a href="#impl-From2%3CT%3E-for-RadarData">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-RadarData">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-RadarData">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-RadarData">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-RadarData">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-RadarData">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-RadarData">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-RadarData">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-RadarData">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-RadarData">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-RadarData">SelfOps</a></li><li><a href="#impl-ToOwned-for-RadarData">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-RadarData">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-RadarData">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-RadarData">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-RadarData">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-RadarData">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-RadarData">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::comms</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">radarflow</a>::<wbr><a href="index.html">comms</a>::<wbr><a class="struct" href="#">RadarData</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/comms.rs.html#42-53">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct RadarData {
+    ingame: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>,
+    map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
+    player_data: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a>&gt;,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.ingame" class="structfield small-section-header"><a href="#structfield.ingame" class="anchor field">§</a><code>ingame: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></code></span><span id="structfield.map_name" class="structfield small-section-header"><a href="#structfield.map_name" class="anchor field">§</a><code>map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.player_data" class="structfield small-section-header"><a href="#structfield.player_data" class="anchor field">§</a><code>player_data: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a>&gt;</code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-RadarData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#55-68">source</a><a href="#impl-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../src/radarflow/comms.rs.html#56-58">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>(
+    ingame: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a>,
+    map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
+    player_data: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.EntityData.html" title="enum radarflow::comms::EntityData">EntityData</a>&gt;
+) -&gt; <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h4></section><details class="toggle method-toggle" open><summary><section id="method.empty" class="method"><a class="src rightside" href="../../src/radarflow/comms.rs.html#61-67">source</a><h4 class="code-header">pub fn <a href="#method.empty" class="fn">empty</a>() -&gt; <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h4></section></summary><div class="docblock"><p>Returns empty RadarData, it’s also the same data that gets sent to clients when not ingame</p>
+</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-RadarData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#impl-Clone-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Debug-for-RadarData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#impl-Debug-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#method.fmt" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt" class="fn">fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>&lt;'_&gt;) -&gt; <a class="type" href="https://doc.rust-lang.org/1.74.0/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/1.74.0/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Deserialize%3C'de%3E-for-RadarData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#impl-Deserialize%3C'de%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt; for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.deserialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#method.deserialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize" class="fn">deserialize</a>&lt;__D&gt;(__deserializer: __D) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;Self, __D::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html#associatedtype.Error" title="type serde::de::Deserializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __D: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserializer.html" title="trait serde::de::Deserializer">Deserializer</a>&lt;'de&gt;,</span></h4></section></summary><div class='docblock'>Deserialize this value from the given Serde deserializer. <a href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html#tymethod.deserialize">Read more</a></div></details></div></details><details class="toggle implementors-toggle" open><summary><section id="impl-Serialize-for-RadarData" class="impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#impl-Serialize-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.serialize" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/comms.rs.html#41">source</a><a href="#method.serialize" class="anchor">§</a><h4 class="code-header">fn <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize" class="fn">serialize</a>&lt;__S&gt;(&amp;self, __serializer: __S) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;__S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Ok" title="type serde::ser::Serializer::Ok">Ok</a>, __S::<a class="associatedtype" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html#associatedtype.Error" title="type serde::ser::Serializer::Error">Error</a>&gt;<span class="where fmt-newline">where
+    __S: <a class="trait" href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serializer.html" title="trait serde::ser::Serializer">Serializer</a>,</span></h4></section></summary><div class='docblock'>Serialize this value into the given Serde serializer. <a href="https://docs.rs/serde/1.0.193/serde/ser/trait.Serialize.html#tymethod.serialize">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-RadarData" class="impl"><a href="#impl-RefUnwindSafe-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section><section id="impl-Send-for-RadarData" class="impl"><a href="#impl-Send-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section><section id="impl-Sync-for-RadarData" class="impl"><a href="#impl-Sync-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section><section id="impl-Unpin-for-RadarData" class="impl"><a href="#impl-Unpin-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section><section id="impl-UnwindSafe-for-RadarData" class="impl"><a href="#impl-UnwindSafe-for-RadarData" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-RadarData" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-RadarData" class="impl"><a href="#impl-From2%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-RadarData" class="impl"><a href="#impl-FromRef%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-RadarData" class="impl"><a href="#impl-GetWithMetadata-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-RadarData" class="impl"><a href="#impl-Instrument-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-RadarData" class="impl"><a href="#impl-ROExtAcc-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-RadarData" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-RadarData" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-RadarData" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-RadarData" class="impl"><a href="#impl-SelfOps-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-RadarData" class="impl"><a href="#impl-TransmuteElement-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-RadarData" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-RadarData" class="impl"><a href="#impl-TypeIdentity-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-RadarData" class="impl"><a href="#impl-VZip%3CV%3E-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-RadarData" class="impl"><a href="#impl-WithSubscriber-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details><section id="impl-DeserializeOwned-for-RadarData" class="impl"><a class="src rightside" href="https://docs.rs/serde/1.0.193/src/serde/de/mod.rs.html#608">source</a><a href="#impl-DeserializeOwned-for-RadarData" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> for T<span class="where fmt-newline">where
+    T: for&lt;'de&gt; <a class="trait" href="https://docs.rs/serde/1.0.193/serde/de/trait.Deserialize.html" title="trait serde::de::Deserialize">Deserialize</a>&lt;'de&gt;,</span></h3></section></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/cache/enum.CachedEntity.html b/docs/radarflow/dma/cache/enum.CachedEntity.html
new file mode 100644
index 0000000..a80f1c4
--- /dev/null
+++ b/docs/radarflow/dma/cache/enum.CachedEntity.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CachedEntity` enum in crate `radarflow`."><title>CachedEntity in radarflow::dma::cache - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc enum"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CachedEntity</a></h2><div class="sidebar-elems"><section><h3><a href="#variants">Variants</a></h3><ul class="block"><li><a href="#variant.Bomb">Bomb</a></li><li><a href="#variant.Player">Player</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-CachedEntity">Clone</a></li><li><a href="#impl-Copy-for-CachedEntity">Copy</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CachedEntity">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CachedEntity">Send</a></li><li><a href="#impl-Sync-for-CachedEntity">Sync</a></li><li><a href="#impl-Unpin-for-CachedEntity">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CachedEntity">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CachedEntity">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CachedEntity">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CachedEntity">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-CachedEntity">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CachedEntity">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CachedEntity">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-CachedEntity">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CachedEntity">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-CachedEntity">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-CachedEntity">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CachedEntity">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CachedEntity">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CachedEntity">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-CachedEntity">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-CachedEntity">SelfOps</a></li><li><a href="#impl-ToOwned-for-CachedEntity">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-CachedEntity">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CachedEntity">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CachedEntity">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CachedEntity">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-CachedEntity">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-CachedEntity">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::dma::cache</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Enum <a href="../../index.html">radarflow</a>::<wbr><a href="../index.html">dma</a>::<wbr><a href="index.html">cache</a>::<wbr><a class="enum" href="#">CachedEntity</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/radarflow/dma/cache.rs.html#4-7">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub enum CachedEntity {
+    Bomb {
+        ptr: Address,
+    },
+    Player {
+        ptr: Address,
+        player_type: PlayerType,
+    },
+}</code></pre><h2 id="variants" class="variants small-section-header">Variants<a href="#variants" class="anchor">§</a></h2><div class="variants"><section id="variant.Bomb" class="variant"><a href="#variant.Bomb" class="anchor">§</a><h3 class="code-header">Bomb</h3></section><div class="sub-variant" id="variant.Bomb.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Bomb.field.ptr" class="small-section-header"><a href="#variant.Bomb.field.ptr" class="anchor field">§</a><code>ptr: Address</code></span></div></div><section id="variant.Player" class="variant"><a href="#variant.Player" class="anchor">§</a><h3 class="code-header">Player</h3></section><div class="sub-variant" id="variant.Player.fields"><h4>Fields</h4><div class="sub-variant-field"><span id="variant.Player.field.ptr" class="small-section-header"><a href="#variant.Player.field.ptr" class="anchor field">§</a><code>ptr: Address</code></span></div><div class="sub-variant-field"><span id="variant.Player.field.player_type" class="small-section-header"><a href="#variant.Player.field.player_type" class="anchor field">§</a><code>player_type: PlayerType</code></span></div></div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-CachedEntity" class="impl"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#3">source</a><a href="#impl-Clone-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#3">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details><section id="impl-Copy-for-CachedEntity" class="impl"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#3">source</a><a href="#impl-Copy-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CachedEntity" class="impl"><a href="#impl-RefUnwindSafe-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section><section id="impl-Send-for-CachedEntity" class="impl"><a href="#impl-Send-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section><section id="impl-Sync-for-CachedEntity" class="impl"><a href="#impl-Sync-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section><section id="impl-Unpin-for-CachedEntity" class="impl"><a href="#impl-Unpin-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section><section id="impl-UnwindSafe-for-CachedEntity" class="impl"><a href="#impl-UnwindSafe-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-CachedEntity" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CachedEntity" class="impl"><a href="#impl-From2%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-CachedEntity" class="impl"><a href="#impl-FromRef%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CachedEntity" class="impl"><a href="#impl-GetWithMetadata-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-CachedEntity" class="impl"><a href="#impl-Instrument-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CachedEntity" class="impl"><a href="#impl-ROExtAcc-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CachedEntity" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CachedEntity" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CachedEntity" class="impl"><a href="#impl-SelfOps-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CachedEntity" class="impl"><a href="#impl-TransmuteElement-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CachedEntity" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CachedEntity" class="impl"><a href="#impl-TypeIdentity-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-CachedEntity" class="impl"><a href="#impl-VZip%3CV%3E-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-CachedEntity" class="impl"><a href="#impl-WithSubscriber-for-CachedEntity" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/cache/index.html b/docs/radarflow/dma/cache/index.html
new file mode 100644
index 0000000..fdab7d5
--- /dev/null
+++ b/docs/radarflow/dma/cache/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `cache` mod in crate `radarflow`."><title>radarflow::dma::cache - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module cache</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../../index.html">radarflow</a>::<wbr><a href="../index.html">dma</a>::<wbr><a class="mod" href="#">cache</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/radarflow/dma/cache.rs.html#1-85">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></div></li><li><div class="item-name"><a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/cache/sidebar-items.js b/docs/radarflow/dma/cache/sidebar-items.js
new file mode 100644
index 0000000..6c93539
--- /dev/null
+++ b/docs/radarflow/dma/cache/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"enum":["CachedEntity"],"struct":["Cache","CacheBuilder"]};
\ No newline at end of file
diff --git a/docs/radarflow/dma/cache/struct.Cache.html b/docs/radarflow/dma/cache/struct.Cache.html
new file mode 100644
index 0000000..23baeea
--- /dev/null
+++ b/docs/radarflow/dma/cache/struct.Cache.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `Cache` struct in crate `radarflow`."><title>Cache in radarflow::dma::cache - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Cache</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.entity_cache">entity_cache</a></li><li><a href="#structfield.entity_list">entity_list</a></li><li><a href="#structfield.map_name">map_name</a></li><li><a href="#structfield.timestamp">timestamp</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.entity_cache">entity_cache</a></li><li><a href="#method.entity_list">entity_list</a></li><li><a href="#method.is_valid">is_valid</a></li><li><a href="#method.map_name">map_name</a></li><li><a href="#method.new_invalid">new_invalid</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Cache">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Cache">Send</a></li><li><a href="#impl-Sync-for-Cache">Sync</a></li><li><a href="#impl-Unpin-for-Cache">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Cache">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Cache">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Cache">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Cache">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-Cache">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Cache">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-Cache">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-Cache">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-Cache">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-Cache">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-Cache">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-Cache">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-Cache">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-Cache">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-Cache">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Cache">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Cache">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-Cache">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-Cache">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-Cache">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::dma::cache</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">radarflow</a>::<wbr><a href="../index.html">dma</a>::<wbr><a href="index.html">cache</a>::<wbr><a class="struct" href="#">Cache</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/radarflow/dma/cache.rs.html#9-14">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct Cache {
+    timestamp: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a>,
+    entity_cache: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;,
+    map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
+    entity_list: Address,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.timestamp" class="structfield small-section-header"><a href="#structfield.timestamp" class="anchor field">§</a><code>timestamp: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/time/struct.Instant.html" title="struct std::time::Instant">Instant</a></code></span><span id="structfield.entity_cache" class="structfield small-section-header"><a href="#structfield.entity_cache" class="anchor field">§</a><code>entity_cache: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;</code></span><span id="structfield.map_name" class="structfield small-section-header"><a href="#structfield.map_name" class="anchor field">§</a><code>map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></code></span><span id="structfield.entity_list" class="structfield small-section-header"><a href="#structfield.entity_list" class="anchor field">§</a><code>entity_list: Address</code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Cache" class="impl"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#16-45">source</a><a href="#impl-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section></summary><div class="impl-items"><section id="method.is_valid" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#17-23">source</a><h4 class="code-header">pub fn <a href="#method.is_valid" class="fn">is_valid</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section><section id="method.new_invalid" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#25-32">source</a><h4 class="code-header">pub fn <a href="#method.new_invalid" class="fn">new_invalid</a>() -&gt; <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h4></section><section id="method.entity_cache" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#34-36">source</a><h4 class="code-header">pub fn <a href="#method.entity_cache" class="fn">entity_cache</a>(&amp;mut self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;</h4></section><section id="method.map_name" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#38-40">source</a><h4 class="code-header">pub fn <a href="#method.map_name" class="fn">map_name</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h4></section><section id="method.entity_list" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#42-44">source</a><h4 class="code-header">pub fn <a href="#method.entity_list" class="fn">entity_list</a>(&amp;self) -&gt; Address</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Cache" class="impl"><a href="#impl-RefUnwindSafe-for-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section><section id="impl-Send-for-Cache" class="impl"><a href="#impl-Send-for-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section><section id="impl-Sync-for-Cache" class="impl"><a href="#impl-Sync-for-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section><section id="impl-Unpin-for-Cache" class="impl"><a href="#impl-Unpin-for-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section><section id="impl-UnwindSafe-for-Cache" class="impl"><a href="#impl-UnwindSafe-for-Cache" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-Cache" class="impl"><a href="#impl-From2%3CT%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-Cache" class="impl"><a href="#impl-GetWithMetadata-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-Cache" class="impl"><a href="#impl-Instrument-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-Cache" class="impl"><a href="#impl-ROExtAcc-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-Cache" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-Cache" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-Cache" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-Cache" class="impl"><a href="#impl-SelfOps-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-Cache" class="impl"><a href="#impl-TransmuteElement-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Cache" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-Cache" class="impl"><a href="#impl-TypeIdentity-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-Cache" class="impl"><a href="#impl-VZip%3CV%3E-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-Cache" class="impl"><a href="#impl-WithSubscriber-for-Cache" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/cache/struct.CacheBuilder.html b/docs/radarflow/dma/cache/struct.CacheBuilder.html
new file mode 100644
index 0000000..f8966cf
--- /dev/null
+++ b/docs/radarflow/dma/cache/struct.CacheBuilder.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `CacheBuilder` struct in crate `radarflow`."><title>CacheBuilder in radarflow::dma::cache - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">CacheBuilder</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.entity_cache">entity_cache</a></li><li><a href="#structfield.entity_list">entity_list</a></li><li><a href="#structfield.map_name">map_name</a></li></ul><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.build">build</a></li><li><a href="#method.entity_cache">entity_cache</a></li><li><a href="#method.entity_list">entity_list</a></li><li><a href="#method.map_name">map_name</a></li><li><a href="#method.new">new</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-CacheBuilder">RefUnwindSafe</a></li><li><a href="#impl-Send-for-CacheBuilder">Send</a></li><li><a href="#impl-Sync-for-CacheBuilder">Sync</a></li><li><a href="#impl-Unpin-for-CacheBuilder">Unpin</a></li><li><a href="#impl-UnwindSafe-for-CacheBuilder">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-CacheBuilder">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-CacheBuilder">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-CacheBuilder">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-CacheBuilder">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-CacheBuilder">From&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-CacheBuilder">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-CacheBuilder">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-CacheBuilder">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-CacheBuilder">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-CacheBuilder">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-CacheBuilder">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-CacheBuilder">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-CacheBuilder">SelfOps</a></li><li><a href="#impl-TransmuteElement-for-CacheBuilder">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-CacheBuilder">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-CacheBuilder">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-CacheBuilder">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-CacheBuilder">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-CacheBuilder">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::dma::cache</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../../index.html">radarflow</a>::<wbr><a href="../index.html">dma</a>::<wbr><a href="index.html">cache</a>::<wbr><a class="struct" href="#">CacheBuilder</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/radarflow/dma/cache.rs.html#47-51">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub struct CacheBuilder {
+    entity_cache: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;&gt;,
+    map_name: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;,
+    entity_list: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Address&gt;,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.entity_cache" class="structfield small-section-header"><a href="#structfield.entity_cache" class="anchor field">§</a><code>entity_cache: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;&gt;</code></span><span id="structfield.map_name" class="structfield small-section-header"><a href="#structfield.map_name" class="anchor field">§</a><code>map_name: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;</code></span><span id="structfield.entity_list" class="structfield small-section-header"><a href="#structfield.entity_list" class="anchor field">§</a><code>entity_list: <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;Address&gt;</code></span><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor">§</a></h2><div id="implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-CacheBuilder" class="impl"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#53-85">source</a><a href="#impl-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section></summary><div class="impl-items"><section id="method.new" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#54-60">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fn">new</a>() -&gt; <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h4></section><section id="method.entity_cache" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#62-65">source</a><h4 class="code-header">pub fn <a href="#method.entity_cache" class="fn">entity_cache</a>(self, entity_cache: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/vec/struct.Vec.html" title="struct alloc::vec::Vec">Vec</a>&lt;<a class="enum" href="enum.CachedEntity.html" title="enum radarflow::dma::cache::CachedEntity">CachedEntity</a>&gt;) -&gt; <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h4></section><section id="method.map_name" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#67-70">source</a><h4 class="code-header">pub fn <a href="#method.map_name" class="fn">map_name</a>(self, map_name: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>) -&gt; <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h4></section><section id="method.entity_list" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#72-75">source</a><h4 class="code-header">pub fn <a href="#method.entity_list" class="fn">entity_list</a>(self, entity_list: Address) -&gt; <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h4></section><section id="method.build" class="method"><a class="src rightside" href="../../../src/radarflow/dma/cache.rs.html#77-84">source</a><h4 class="code-header">pub fn <a href="#method.build" class="fn">build</a>(self) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.77/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="struct" href="struct.Cache.html" title="struct radarflow::dma::cache::Cache">Cache</a>&gt;</h4></section></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-CacheBuilder" class="impl"><a href="#impl-RefUnwindSafe-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section><section id="impl-Send-for-CacheBuilder" class="impl"><a href="#impl-Send-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section><section id="impl-Sync-for-CacheBuilder" class="impl"><a href="#impl-Sync-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section><section id="impl-Unpin-for-CacheBuilder" class="impl"><a href="#impl-Unpin-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section><section id="impl-UnwindSafe-for-CacheBuilder" class="impl"><a href="#impl-UnwindSafe-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.CacheBuilder.html" title="struct radarflow::dma::cache::CacheBuilder">CacheBuilder</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-CacheBuilder" class="impl"><a href="#impl-From2%3CT%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-CacheBuilder" class="impl"><a href="#impl-GetWithMetadata-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-CacheBuilder" class="impl"><a href="#impl-Instrument-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-CacheBuilder" class="impl"><a href="#impl-ROExtAcc-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-CacheBuilder" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-CacheBuilder" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-CacheBuilder" class="impl"><a href="#impl-SelfOps-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-CacheBuilder" class="impl"><a href="#impl-TransmuteElement-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-CacheBuilder" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-CacheBuilder" class="impl"><a href="#impl-TypeIdentity-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-CacheBuilder" class="impl"><a href="#impl-VZip%3CV%3E-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-CacheBuilder" class="impl"><a href="#impl-WithSubscriber-for-CacheBuilder" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/constant.SECOND_AS_NANO.html b/docs/radarflow/dma/constant.SECOND_AS_NANO.html
new file mode 100644
index 0000000..6128828
--- /dev/null
+++ b/docs/radarflow/dma/constant.SECOND_AS_NANO.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SECOND_AS_NANO` constant in crate `radarflow`."><title>SECOND_AS_NANO in radarflow::dma - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::dma</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Constant <a href="../index.html">radarflow</a>::<wbr><a href="index.html">dma</a>::<wbr><a class="constant" href="#">SECOND_AS_NANO</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/dma/mod.rs.html#12">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>const SECOND_AS_NANO: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u64.html">u64</a> = _; // 1_000_000_000u64</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/fn.run.html b/docs/radarflow/dma/fn.run.html
new file mode 100644
index 0000000..3cd5eae
--- /dev/null
+++ b/docs/radarflow/dma/fn.run.html
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run` fn in crate `radarflow`."><title>run in radarflow::dma - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::dma</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">dma</a>::<wbr><a class="fn" href="#">run</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/dma/mod.rs.html#15-202">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub async fn run(
+    connector: Connector,
+    pcileech_device: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>,
+    poll_rate: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>,
+    data_lock: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;RwLock&lt;<a class="struct" href="../comms/struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a>&gt;&gt;
+) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.77/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/index.html b/docs/radarflow/dma/index.html
new file mode 100644
index 0000000..2301f38
--- /dev/null
+++ b/docs/radarflow/dma/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `dma` mod in crate `radarflow`."><title>radarflow::dma - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module dma</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#constants">Constants</a></li><li><a href="#statics">Statics</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">radarflow</a>::<wbr><a class="mod" href="#">dma</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/dma/mod.rs.html#1-202">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="cache/index.html" title="mod radarflow::dma::cache">cache</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2><ul class="item-table"><li><div class="item-name"><a class="constant" href="constant.SECOND_AS_NANO.html" title="constant radarflow::dma::SECOND_AS_NANO">SECOND_AS_NANO</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="statics" class="small-section-header"><a href="#statics">Statics</a></h2><ul class="item-table"><li><div class="item-name"><a class="static" href="static.ONCE.html" title="static radarflow::dma::ONCE">ONCE</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.run.html" title="fn radarflow::dma::run">run</a></div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/dma/sidebar-items.js b/docs/radarflow/dma/sidebar-items.js
new file mode 100644
index 0000000..6bdff19
--- /dev/null
+++ b/docs/radarflow/dma/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"constant":["SECOND_AS_NANO"],"fn":["run"],"mod":["cache"],"static":["ONCE"]};
\ No newline at end of file
diff --git a/docs/radarflow/dma/static.ONCE.html b/docs/radarflow/dma/static.ONCE.html
new file mode 100644
index 0000000..ca53242
--- /dev/null
+++ b/docs/radarflow/dma/static.ONCE.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ONCE` static in crate `radarflow`."><title>ONCE in radarflow::dma - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc static"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::dma</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Static <a href="../index.html">radarflow</a>::<wbr><a href="index.html">dma</a>::<wbr><a class="static" href="#">ONCE</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/dma/mod.rs.html#13">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>static ONCE: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/sync/once/struct.Once.html" title="struct std::sync::once::Once">Once</a></code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/fn.main.html b/docs/radarflow/fn.main.html
new file mode 100644
index 0000000..4a5d2dc
--- /dev/null
+++ b/docs/radarflow/fn.main.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `main` fn in crate `radarflow`."><title>main in radarflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="index.html">radarflow</a>::<wbr><a class="fn" href="#">main</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/radarflow/main.rs.html#15-57">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub(crate) fn main() -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.77/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/index.html b/docs/radarflow/index.html
new file mode 100644
index 0000000..ce0da34
--- /dev/null
+++ b/docs/radarflow/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `radarflow` crate."><title>radarflow - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../crates.js"></script><script defer src="../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod crate"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../radarflow/index.html"><img class="rust-logo" src="../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Crate radarflow</a></h2><div class="sidebar-elems"><ul class="block"><li class="version">Version 0.2.0</li><li><a id="all-types" href="all.html">All Items</a></li></ul><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Crate <a class="mod" href="#">radarflow</a><button id="copy-path" title="Copy item path to clipboard"><img src="../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../src/radarflow/main.rs.html#1-57">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="cli/index.html" title="mod radarflow::cli">cli</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="comms/index.html" title="mod radarflow::comms">comms</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="dma/index.html" title="mod radarflow::dma">dma</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="mod" href="websocket/index.html" title="mod radarflow::websocket">websocket</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.main.html" title="fn radarflow::main">main</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/sidebar-items.js b/docs/radarflow/sidebar-items.js
new file mode 100644
index 0000000..9542266
--- /dev/null
+++ b/docs/radarflow/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"fn":["main"],"mod":["cli","comms","dma","websocket"]};
\ No newline at end of file
diff --git a/docs/radarflow/websocket/fn.handle_socket.html b/docs/radarflow/websocket/fn.handle_socket.html
new file mode 100644
index 0000000..46cc1bf
--- /dev/null
+++ b/docs/radarflow/websocket/fn.handle_socket.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `handle_socket` fn in crate `radarflow`."><title>handle_socket in radarflow::websocket - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::websocket</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">websocket</a>::<wbr><a class="fn" href="#">handle_socket</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/websocket.rs.html#24-51">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>async fn handle_socket(socket: WebSocket, state: <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a>)</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/websocket/fn.run.html b/docs/radarflow/websocket/fn.run.html
new file mode 100644
index 0000000..7f65d05
--- /dev/null
+++ b/docs/radarflow/websocket/fn.run.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `run` fn in crate `radarflow`."><title>run in radarflow::websocket - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::websocket</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">websocket</a>::<wbr><a class="fn" href="#">run</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/websocket.rs.html#53-66">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>pub async fn run(
+    path: <a class="struct" href="https://doc.rust-lang.org/1.74.0/std/path/struct.PathBuf.html" title="struct std::path::PathBuf">PathBuf</a>,
+    port: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.u16.html">u16</a>,
+    data_lock: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;RwLock&lt;<a class="struct" href="../comms/struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a>&gt;&gt;
+) -&gt; <a class="type" href="https://docs.rs/anyhow/1.0.77/anyhow/type.Result.html" title="type anyhow::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.unit.html">()</a>&gt;</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/websocket/fn.ws_handler.html b/docs/radarflow/websocket/fn.ws_handler.html
new file mode 100644
index 0000000..b41a37b
--- /dev/null
+++ b/docs/radarflow/websocket/fn.ws_handler.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `ws_handler` fn in crate `radarflow`."><title>ws_handler in radarflow::websocket - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><div class="sidebar-elems"><h2><a href="index.html">In radarflow::websocket</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Function <a href="../index.html">radarflow</a>::<wbr><a href="index.html">websocket</a>::<wbr><a class="fn" href="#">ws_handler</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/websocket.rs.html#20-22">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>async fn ws_handler(ws: WebSocketUpgrade, __arg1: State&lt;<a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a>&gt;) -&gt; Response</code></pre></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/websocket/index.html b/docs/radarflow/websocket/index.html
new file mode 100644
index 0000000..e4395b3
--- /dev/null
+++ b/docs/radarflow/websocket/index.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `websocket` mod in crate `radarflow`."><title>radarflow::websocket - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module websocket</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../index.html">radarflow</a>::<wbr><a class="mod" href="#">websocket</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/websocket.rs.html#1-66">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2><ul class="item-table"><li><div class="item-name"><a class="fn" href="fn.handle_socket.html" title="fn radarflow::websocket::handle_socket">handle_socket</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li><li><div class="item-name"><a class="fn" href="fn.run.html" title="fn radarflow::websocket::run">run</a></div></li><li><div class="item-name"><a class="fn" href="fn.ws_handler.html" title="fn radarflow::websocket::ws_handler">ws_handler</a><span title="Restricted Visibility">&nbsp;🔒</span> </div></li></ul></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/radarflow/websocket/sidebar-items.js b/docs/radarflow/websocket/sidebar-items.js
new file mode 100644
index 0000000..403b718
--- /dev/null
+++ b/docs/radarflow/websocket/sidebar-items.js
@@ -0,0 +1 @@
+window.SIDEBAR_ITEMS = {"fn":["handle_socket","run","ws_handler"],"struct":["AppState"]};
\ No newline at end of file
diff --git a/docs/radarflow/websocket/struct.AppState.html b/docs/radarflow/websocket/struct.AppState.html
new file mode 100644
index 0000000..181b4b4
--- /dev/null
+++ b/docs/radarflow/websocket/struct.AppState.html
@@ -0,0 +1,64 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `AppState` struct in crate `radarflow`."><title>AppState in radarflow::websocket - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">AppState</a></h2><div class="sidebar-elems"><section><h3><a href="#fields">Fields</a></h3><ul class="block"><li><a href="#structfield.data_lock">data_lock</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Clone-for-AppState">Clone</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-AppState">!RefUnwindSafe</a></li><li><a href="#impl-UnwindSafe-for-AppState">!UnwindSafe</a></li><li><a href="#impl-Send-for-AppState">Send</a></li><li><a href="#impl-Sync-for-AppState">Sync</a></li><li><a href="#impl-Unpin-for-AppState">Unpin</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-AppState">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-AppState">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-AppState">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-BorrowOwned%3C'a%3E-for-AppState">BorrowOwned&lt;&#x27;a&gt;</a></li><li><a href="#impl-From2%3CT%3E-for-AppState">From2&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-AppState">From&lt;T&gt;</a></li><li><a href="#impl-FromRef%3CT%3E-for-AppState">FromRef&lt;T&gt;</a></li><li><a href="#impl-GetWithMetadata-for-AppState">GetWithMetadata</a></li><li><a href="#impl-Instrument-for-AppState">Instrument</a></li><li><a href="#impl-Into%3CU%3E-for-AppState">Into&lt;U&gt;</a></li><li><a href="#impl-ROExtAcc-for-AppState">ROExtAcc</a></li><li><a href="#impl-ROExtOps%3CAligned%3E-for-AppState">ROExtOps&lt;Aligned&gt;</a></li><li><a href="#impl-ROExtOps%3CUnaligned%3E-for-AppState">ROExtOps&lt;Unaligned&gt;</a></li><li><a href="#impl-Same%3CT%3E-for-AppState">Same&lt;T&gt;</a></li><li><a href="#impl-SelfOps-for-AppState">SelfOps</a></li><li><a href="#impl-ToOwned-for-AppState">ToOwned</a></li><li><a href="#impl-TransmuteElement-for-AppState">TransmuteElement</a></li><li><a href="#impl-TryFrom%3CU%3E-for-AppState">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-AppState">TryInto&lt;U&gt;</a></li><li><a href="#impl-TypeIdentity-for-AppState">TypeIdentity</a></li><li><a href="#impl-VZip%3CV%3E-for-AppState">VZip&lt;V&gt;</a></li><li><a href="#impl-WithSubscriber-for-AppState">WithSubscriber</a></li></ul></section><h2><a href="index.html">In radarflow::websocket</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Struct <a href="../index.html">radarflow</a>::<wbr><a href="index.html">websocket</a>::<wbr><a class="struct" href="#">AppState</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../src/radarflow/websocket.rs.html#16-18">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><pre class="rust item-decl"><code>struct AppState {
+    data_lock: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;RwLock&lt;<a class="struct" href="../comms/struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a>&gt;&gt;,
+}</code></pre><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor">§</a></h2><span id="structfield.data_lock" class="structfield small-section-header"><a href="#structfield.data_lock" class="anchor field">§</a><code>data_lock: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;RwLock&lt;<a class="struct" href="../comms/struct.RadarData.html" title="struct radarflow::comms::RadarData">RadarData</a>&gt;&gt;</code></span><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor">§</a></h2><div id="trait-implementations-list"><details class="toggle implementors-toggle" open><summary><section id="impl-Clone-for-AppState" class="impl"><a class="src rightside" href="../../src/radarflow/websocket.rs.html#15">source</a><a href="#impl-Clone-for-AppState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl"><a class="src rightside" href="../../src/radarflow/websocket.rs.html#15">source</a><a href="#method.clone" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone" class="fn">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h4></section></summary><div class='docblock'>Returns a copy of the value. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#tymethod.clone">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl"><span class="rightside"><span class="since" title="Stable since Rust version 1.0.0">1.0.0</span> · <a class="src" href="https://doc.rust-lang.org/1.74.0/src/core/clone.rs.html#169">source</a></span><a href="#method.clone_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from" class="fn">clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html#method.clone_from">Read more</a></div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor">§</a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-AppState" class="impl"><a href="#impl-RefUnwindSafe-for-AppState" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section><section id="impl-Send-for-AppState" class="impl"><a href="#impl-Send-for-AppState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section><section id="impl-Sync-for-AppState" class="impl"><a href="#impl-Sync-for-AppState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section><section id="impl-Unpin-for-AppState" class="impl"><a href="#impl-Unpin-for-AppState" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section><section id="impl-UnwindSafe-for-AppState" class="impl"><a href="#impl-UnwindSafe-for-AppState" class="anchor">§</a><h3 class="code-header">impl !<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.AppState.html" title="struct radarflow::websocket::AppState">AppState</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor">§</a></h2><div id="blanket-implementations-list"><details class="toggle implementors-toggle"><summary><section id="impl-Any-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#135">source</a><a href="#impl-Any-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T<span class="where fmt-newline">where
+    T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/any.rs.html#136">source</a><a href="#method.type_id" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id" class="fn">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/1.74.0/core/any/trait.Any.html#tymethod.type_id">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#208">source</a><a href="#impl-Borrow%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#210">source</a><a href="#method.borrow" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow" class="fn">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#216">source</a><a href="#impl-BorrowMut%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/borrow.rs.html#217">source</a><a href="#method.borrow_mut" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut" class="fn">borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a></h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/1.74.0/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-BorrowOwned%3C'a%3E-for-AppState" class="impl"><a href="#impl-BorrowOwned%3C'a%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;'a, T&gt; BorrowOwned&lt;'a&gt; for T<span class="where fmt-newline">where
+    T: 'a + <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ROwned" class="associatedtype trait-impl"><a href="#associatedtype.ROwned" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ROwned</a> = T</h4></section></summary><div class='docblock'>The owned type, stored in <code>RCow::Owned</code></div></details><details class="toggle" open><summary><section id="associatedtype.RBorrowed" class="associatedtype trait-impl"><a href="#associatedtype.RBorrowed" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">RBorrowed</a> = <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section></summary><div class='docblock'>The borrowed type, stored in <code>RCow::Borrowed</code></div></details><section id="method.r_borrow" class="method trait-impl"><a href="#method.r_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_borrow</a>(
+    this: &amp;'a &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.r_to_owned" class="method trait-impl"><a href="#method.r_to_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">r_to_owned</a>(
+    this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed
+) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.deref_borrowed" class="method trait-impl"><a href="#method.deref_borrowed" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_borrowed</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.deref_owned" class="method trait-impl"><a href="#method.deref_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">deref_owned</a>(this: &amp;&lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a></h4></section><section id="method.from_cow_borrow" class="method trait-impl"><a href="#method.from_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_borrow</a>(this: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed</h4></section><section id="method.from_cow_owned" class="method trait-impl"><a href="#method.from_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_cow_owned</a>(this: &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a>) -&gt; &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned</h4></section><section id="method.into_cow_borrow" class="method trait-impl"><a href="#method.into_cow_borrow" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_borrow</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::RBorrowed) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a T</a></h4></section><section id="method.into_cow_owned" class="method trait-impl"><a href="#method.into_cow_owned" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_cow_owned</a>(this: &lt;T as BorrowOwned&lt;'a&gt;&gt;::ROwned) -&gt; &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a>&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" title="type alloc::borrow::ToOwned::Owned">Owned</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#722">source</a><a href="#impl-From%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#725">source</a><a href="#method.from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html#tymethod.from" class="fn">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-From2%3CT%3E-for-AppState" class="impl"><a href="#impl-From2%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T, F&gt; From2&lt;T&gt; for F<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;F&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.from2" class="method trait-impl"><a href="#method.from2" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from2</a>(other: T) -&gt; F</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRef%3CT%3E-for-AppState" class="impl"><a href="#impl-FromRef%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; FromRef&lt;T&gt; for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.from_ref" class="method trait-impl"><a href="#method.from_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_ref</a>(input: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a>) -&gt; T</h4></section></summary><div class='docblock'>Converts to this type from a reference to the input type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-GetWithMetadata-for-AppState" class="impl"><a href="#impl-GetWithMetadata-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; GetWithMetadata for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.ForSelf" class="associatedtype trait-impl"><a href="#associatedtype.ForSelf" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">ForSelf</a> = WithMetadata_&lt;T, T&gt;</h4></section></summary><div class='docblock'>This is always <code>WithMetadata_&lt;Self, Self&gt;</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Instrument-for-AppState" class="impl"><a href="#impl-Instrument-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; Instrument for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.instrument" class="method trait-impl"><a href="#method.instrument" class="anchor">§</a><h4 class="code-header">fn <a class="fn">instrument</a>(self, span: Span) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the provided [<code>Span</code>], returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.in_current_span" class="method trait-impl"><a href="#method.in_current_span" class="anchor">§</a><h4 class="code-header">fn <a class="fn">in_current_span</a>(self) -&gt; Instrumented&lt;Self&gt;</h4></section></summary><div class='docblock'>Instruments this type with the <a href="super::Span::current()">current</a> <a href="crate::Span"><code>Span</code></a>, returning an
+<code>Instrumented</code> wrapper. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#706">source</a><a href="#impl-Into%3CU%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#715">source</a><a href="#method.into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html#tymethod.into" class="fn">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
+<p>That is, this conversion is whatever the implementation of
+<code><a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for U</code> chooses to do.</p>
+</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtAcc-for-AppState" class="impl"><a href="#impl-ROExtAcc-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtAcc for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_get" class="method trait-impl"><a href="#method.f_get" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;F</a></h4></section></summary><div class='docblock'>Gets a reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut" class="method trait-impl"><a href="#method.f_get_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut F</a></h4></section></summary><div class='docblock'>Gets a muatble reference to a field, determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_ptr" class="method trait-impl"><a href="#method.f_get_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_ptr</a>&lt;F, A&gt;(&amp;self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*const F</a></h4></section></summary><div class='docblock'>Gets a const pointer to a field,
+the field is determined by <code>offset</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_mut_ptr" class="method trait-impl"><a href="#method.f_get_mut_ptr" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_mut_ptr</a>&lt;F, A&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, A&gt;) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.pointer.html">*mut F</a></h4></section></summary><div class='docblock'>Gets a mutable pointer to a field, determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CAligned%3E-for-AppState" class="impl"><a href="#impl-ROExtOps%3CAligned%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Aligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace-1" class="method trait-impl"><a href="#method.f_replace-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap-1" class="method trait-impl"><a href="#method.f_swap-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Aligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy-1" class="method trait-impl"><a href="#method.f_get_copy-1" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Aligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ROExtOps%3CUnaligned%3E-for-AppState" class="impl"><a href="#impl-ROExtOps%3CUnaligned%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;S&gt; ROExtOps&lt;Unaligned&gt; for S</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.f_replace" class="method trait-impl"><a href="#method.f_replace" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_replace</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, value: F) -&gt; F</h4></section></summary><div class='docblock'>Replaces a field (determined by <code>offset</code>) with <code>value</code>,
+returning the previous value of the field. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_swap" class="method trait-impl"><a href="#method.f_swap" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_swap</a>&lt;F&gt;(&amp;mut self, offset: FieldOffset&lt;S, F, Unaligned&gt;, right: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut S</a>)</h4></section></summary><div class='docblock'>Swaps a field (determined by <code>offset</code>) with the same field in <code>right</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.f_get_copy" class="method trait-impl"><a href="#method.f_get_copy" class="anchor">§</a><h4 class="code-header">fn <a class="fn">f_get_copy</a>&lt;F&gt;(&amp;self, offset: FieldOffset&lt;S, F, Unaligned&gt;) -&gt; F<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Copy.html" title="trait core::marker::Copy">Copy</a>,</span></h4></section></summary><div class='docblock'>Gets a copy of a field (determined by <code>offset</code>).
+The field is determined by <code>offset</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-Same%3CT%3E-for-AppState" class="impl"><a class="src rightside" href="https://docs.rs/typenum/1.17.0/src/typenum/type_operators.rs.html#34">source</a><a href="#impl-Same%3CT%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html" title="trait typenum::type_operators::Same">Same</a>&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl"><a href="#associatedtype.Output" class="anchor">§</a><h4 class="code-header">type <a href="https://docs.rs/typenum/1.17.0/typenum/type_operators/trait.Same.html#associatedtype.Output" class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>Should always be <code>Self</code></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-SelfOps-for-AppState" class="impl"><a href="#impl-SelfOps-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; SelfOps for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.eq_id" class="method trait-impl"><a href="#method.eq_id" class="anchor">§</a><h4 class="code-header">fn <a class="fn">eq_id</a>(&amp;self, other: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.bool.html">bool</a></h4></section></summary><div class='docblock'>Compares the address of <code>self</code> with the address of <code>other</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped" class="method trait-impl"><a href="#method.piped" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped</a>&lt;F, U&gt;(self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(Self) -&gt; U,
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Emulates the pipeline operator, allowing method syntax in more places. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_ref" class="method trait-impl"><a href="#method.piped_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_ref</a>&lt;'a, F, U&gt;(&amp;'a self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code> except that the function takes <code>&amp;Self</code>
+Useful for functions that take <code>&amp;Self</code> instead of <code>Self</code>. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.piped_mut" class="method trait-impl"><a href="#method.piped_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">piped_mut</a>&lt;'a, F, U&gt;(&amp;'a mut self, f: F) -&gt; U<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;'a mut Self</a>) -&gt; U,</span></h4></section></summary><div class='docblock'>The same as <code>piped</code>, except that the function takes <code>&amp;mut Self</code>.
+Useful for functions that take <code>&amp;mut Self</code> instead of <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.mutated" class="method trait-impl"><a href="#method.mutated" class="anchor">§</a><h4 class="code-header">fn <a class="fn">mutated</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Mutates self using a closure taking self by mutable reference,
+passing it along the method chain. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.observe" class="method trait-impl"><a href="#method.observe" class="anchor">§</a><h4 class="code-header">fn <a class="fn">observe</a>&lt;F&gt;(self, f: F) -&gt; Self<span class="where fmt-newline">where
+    F: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/ops/function/trait.FnOnce.html" title="trait core::ops::function::FnOnce">FnOnce</a>(<a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a>),
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Observes the value of self, passing it along unmodified.
+Useful in long method chains. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_" class="method trait-impl"><a href="#method.into_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_</a>&lt;T&gt;(self) -&gt; T<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Performs a conversion with <code>Into</code>.
+using the turbofish <code>.into_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_ref_" class="method trait-impl"><a href="#method.as_ref_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_ref_</a>&lt;T&gt;(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsRef.html" title="trait core::convert::AsRef">AsRef</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a reference to reference conversion with <code>AsRef</code>,
+using the turbofish <code>.as_ref_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.as_mut_" class="method trait-impl"><a href="#method.as_mut_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_mut_</a>&lt;T&gt;(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a><span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.AsMut.html" title="trait core::convert::AsMut">AsMut</a>&lt;T&gt;,
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Performs a mutable reference to mutable reference conversion with <code>AsMut</code>,
+using the turbofish <code>.as_mut_::&lt;_&gt;()</code> syntax. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.drop_" class="method trait-impl"><a href="#method.drop_" class="anchor">§</a><h4 class="code-header">fn <a class="fn">drop_</a>(self)<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Drops <code>self</code> using method notation.
+Alternative to <code>std::mem::drop</code>. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-ToOwned-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#82">source</a><a href="#impl-ToOwned-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T<span class="where fmt-newline">where
+    T: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl"><a href="#associatedtype.Owned" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#associatedtype.Owned" class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#87">source</a><a href="#method.to_owned" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned" class="fn">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/alloc/borrow.rs.html#91">source</a><a href="#method.clone_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into" class="fn">clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut T</a>)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/1.74.0/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TransmuteElement-for-AppState" class="impl"><a href="#impl-TransmuteElement-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;This&gt; TransmuteElement for This<span class="where fmt-newline">where
+    This: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.transmute_element" class="method trait-impl"><a href="#method.transmute_element" class="anchor">§</a><h4 class="code-header">unsafe fn <a class="fn">transmute_element</a>&lt;T&gt;(self) -&gt; Self::TransmutedPtr<span class="where fmt-newline">where
+    Self: CanTransmuteElement&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Transmutes the element type of this pointer.. <a>Read more</a></div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#762">source</a><a href="#impl-TryFrom%3CU%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl"><a href="#associatedtype.Error" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#769">source</a><a href="#method.try_from" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#tymethod.try_from" class="fn">try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-AppState" class="impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#747">source</a><a href="#impl-TryInto%3CU%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T<span class="where fmt-newline">where
+    U: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#associatedtype.Error" class="associatedtype">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="toggle method-toggle" open><summary><section id="method.try_into" class="method trait-impl"><a class="src rightside" href="https://doc.rust-lang.org/1.74.0/src/core/convert/mod.rs.html#754">source</a><a href="#method.try_into" class="anchor">§</a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryInto.html#tymethod.try_into" class="fn">try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/1.74.0/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="associatedtype" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-TypeIdentity-for-AppState" class="impl"><a href="#impl-TypeIdentity-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; TypeIdentity for T<span class="where fmt-newline">where
+    T: ?<a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h3></section></summary><div class="impl-items"><details class="toggle" open><summary><section id="associatedtype.Type" class="associatedtype trait-impl"><a href="#associatedtype.Type" class="anchor">§</a><h4 class="code-header">type <a class="associatedtype">Type</a> = T</h4></section></summary><div class='docblock'>This is always <code>Self</code>.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type" class="method trait-impl"><a href="#method.into_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type</a>(self) -&gt; Self::Type<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type" class="method trait-impl"><a href="#method.as_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type</a>(&amp;self) -&gt; &amp;Self::Type</h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.as_type_mut" class="method trait-impl"><a href="#method.as_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">as_type_mut</a>(&amp;mut self) -&gt; &amp;mut Self::Type</h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_box" class="method trait-impl"><a href="#method.into_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_box</a>(self: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_arc" class="method trait-impl"><a href="#method.into_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.into_type_rc" class="method trait-impl"><a href="#method.into_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">into_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.from_type" class="method trait-impl"><a href="#method.from_type" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type</a>(this: Self::Type) -&gt; Self<span class="where fmt-newline">where
+    Self: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,
+    Self::Type: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,</span></h4></section></summary><div class='docblock'>Converts a value back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_ref" class="method trait-impl"><a href="#method.from_type_ref" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_ref</a>(this: &amp;Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;Self</a></h4></section></summary><div class='docblock'>Converts a reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_mut" class="method trait-impl"><a href="#method.from_type_mut" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_mut</a>(this: &amp;mut Self::Type) -&gt; <a class="primitive" href="https://doc.rust-lang.org/1.74.0/std/primitive.reference.html">&amp;mut Self</a></h4></section></summary><div class='docblock'>Converts a mutable reference back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_box" class="method trait-impl"><a href="#method.from_type_box" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_box</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/boxed/struct.Box.html" title="struct alloc::boxed::Box">Box</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts a box back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_arc" class="method trait-impl"><a href="#method.from_type_arc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_arc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/sync/struct.Arc.html" title="struct alloc::sync::Arc">Arc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Arc back to the original type.</div></details><details class="toggle method-toggle" open><summary><section id="method.from_type_rc" class="method trait-impl"><a href="#method.from_type_rc" class="anchor">§</a><h4 class="code-header">fn <a class="fn">from_type_rc</a>(this: <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self::Type, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;) -&gt; <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/rc/struct.Rc.html" title="struct alloc::rc::Rc">Rc</a>&lt;Self, <a class="struct" href="https://doc.rust-lang.org/1.74.0/alloc/alloc/struct.Global.html" title="struct alloc::alloc::Global">Global</a>&gt;</h4></section></summary><div class='docblock'>Converts an Rc back to the original type.</div></details></div></details><details class="toggle implementors-toggle"><summary><section id="impl-VZip%3CV%3E-for-AppState" class="impl"><a href="#impl-VZip%3CV%3E-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;V, T&gt; VZip&lt;V&gt; for T<span class="where fmt-newline">where
+    V: MultiLane&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><section id="method.vzip" class="method trait-impl"><a href="#method.vzip" class="anchor">§</a><h4 class="code-header">fn <a class="fn">vzip</a>(self) -&gt; V</h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-WithSubscriber-for-AppState" class="impl"><a href="#impl-WithSubscriber-for-AppState" class="anchor">§</a><h3 class="code-header">impl&lt;T&gt; WithSubscriber for T</h3></section></summary><div class="impl-items"><details class="toggle method-toggle" open><summary><section id="method.with_subscriber" class="method trait-impl"><a href="#method.with_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_subscriber</a>&lt;S&gt;(self, subscriber: S) -&gt; WithDispatch&lt;Self&gt;<span class="where fmt-newline">where
+    S: <a class="trait" href="https://doc.rust-lang.org/1.74.0/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;Dispatch&gt;,</span></h4></section></summary><div class='docblock'>Attaches the provided <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details><details class="toggle method-toggle" open><summary><section id="method.with_current_subscriber" class="method trait-impl"><a href="#method.with_current_subscriber" class="anchor">§</a><h4 class="code-header">fn <a class="fn">with_current_subscriber</a>(self) -&gt; WithDispatch&lt;Self&gt;</h4></section></summary><div class='docblock'>Attaches the current <a href="crate::dispatcher#setting-the-default-subscriber">default</a> <a href="super::Subscriber"><code>Subscriber</code></a> to this type, returning a
+[<code>WithDispatch</code>] wrapper. <a>Read more</a></div></details></div></details></div></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/search-index.js b/docs/search-index.js
new file mode 100644
index 0000000..6362572
--- /dev/null
+++ b/docs/search-index.js
@@ -0,0 +1,6 @@
+var searchIndex = JSON.parse('{\
+"csflow":{"doc":"","t":"DEENNNNNNNNNNNLLLLLLMLLLLLLLMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLALLLLALLLLLLLLLLNNNENNNNENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLIIKKKKK","n":["CheatCtx","Connector","Error","GameVersionMismatch","Kvm","Memflow","MemflowPartialAddress","MemflowPartialString","MemflowPartialVec3","MemflowPartiali32","MemflowPartialu32","MemflowPartialu8","Pcileech","Qemu","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","client_module","clone","clone_into","cmp","compare","default","deref_borrowed","deref_owned","engine_module","enums","eq","equivalent","equivalent","equivalent","f_get","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from2","from2","from2","from_cow_borrow","from_cow_owned","get_entity_list","get_globals","get_local","get_plantedc4","highest_entity_index","into","into","into","into_cow_borrow","into_cow_owned","is_bomb_dropped","is_bomb_planted","map_name","network_is_ingame","partial_cmp","process","r_borrow","r_to_owned","setup","source","structs","to_owned","to_possible_value","to_string","to_string","traits","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","value_variants","CT","Enemy","Local","PlayerType","Spectator","Spectator","T","Team","TeamID","Unknown","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deref_borrowed","deref_owned","deserialize","eq","eq","equivalent","equivalent","equivalent","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","fmt","fmt","from","from","from2","from2","from_cow_borrow","from_cow_owned","from_i64","from_u64","into","into","into_cow_borrow","into_cow_owned","r_borrow","r_to_owned","serialize","to_i64","to_owned","to_u64","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","type_id","type_id","CBaseEntity","CPlayerController","CPlayerPawn","Vec3","angles","as_bytes","as_bytes_mut","as_data_view","as_data_view_mut","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","class_name","class_name","clone","clone_into","deref_borrowed","deref_owned","deserialize","f_get","f_get","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","fmt","from","from","from","from","from2","from2","from2","from2","from_cow_borrow","from_cow_owned","from_index","from_index","from_uhandle","get_pawn","get_player_type","get_team","has_c4","health","into","into","into","into","into_cow_borrow","into_cow_owned","is_alive","new","new","new","pos","pos","pos","ptr","ptr","ptr","r_borrow","r_to_owned","serialize","to_owned","to_player_controller","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","x","y","z","zeroed","BaseEntity","MemoryClass","class_name","from_index","new","pos","ptr"],"q":[[0,"csflow"],[117,"csflow::enums"],[196,"csflow::structs"],[316,"csflow::traits"],[323,"core::cmp"],[324,"repr_offset::alignment"],[325,"repr_offset::struct_field_offset"],[326,"repr_offset::alignment"],[327,"core::fmt"],[328,"core::fmt"],[329,"memflow::error"],[330,"alloc::string"],[331,"core::result"],[332,"core::option"],[333,"core::error"],[334,"clap_builder::builder::possible_value"],[335,"core::any"],[336,"serde::de"],[337,"serde::ser"],[338,"dataview::data_view"],[339,"core::marker"]],"d":["","","","Game version mismatch. First arg is the game version, …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Returns the argument unchanged.","","","","","","","","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","Same as ::get_health &gt; 0","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","A trait for basic functions from C_BaseEntity …","A trait that implements basic functions for a class …","","","","",""],"i":[0,0,0,9,1,9,9,9,9,9,9,9,1,1,20,1,9,20,1,9,20,1,1,1,1,1,1,1,20,0,1,1,1,1,20,1,9,20,20,1,1,9,9,20,1,9,20,1,9,20,1,9,20,20,1,1,9,9,20,20,1,1,9,9,9,9,20,1,9,9,9,9,9,9,9,9,20,1,9,1,1,20,20,20,20,20,20,1,9,1,1,20,20,20,20,1,20,1,1,20,9,0,1,1,1,9,0,20,1,9,20,1,9,20,1,9,1,31,29,29,0,29,31,31,29,0,29,29,31,29,31,29,29,29,29,29,29,29,31,31,31,31,29,31,29,29,31,31,29,31,29,31,29,31,29,29,31,31,29,29,31,31,29,31,29,31,29,31,29,29,31,31,29,31,29,29,29,29,29,31,29,31,29,31,31,31,31,31,31,31,31,31,29,31,29,31,0,0,0,0,38,15,15,15,15,23,22,38,15,23,22,38,15,23,22,15,15,15,15,15,23,22,38,15,23,23,22,22,38,38,15,15,23,22,38,15,23,22,38,15,23,22,38,15,23,23,22,22,38,38,15,15,23,23,22,22,38,38,15,15,15,23,22,38,15,23,22,38,15,15,15,23,22,38,22,22,22,38,38,23,22,38,15,15,15,38,23,22,38,23,22,38,23,22,38,15,15,15,15,23,23,22,38,15,23,22,38,15,23,22,38,15,15,15,15,15,0,0,41,41,42,41,42],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,[1,1],[[-1,-2],2,[],[]],[[1,1],3],[[-1,-2],3,[],[]],[[],1],[[],-1,[]],[[],-1,[]],0,0,[[1,1],4],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[9,10],11],[[9,10],11],[-1,-1,[]],[-1,-1,[]],[[[13,[12]]],9],[[[13,[14]]],9],[[[13,[15]]],9],[[[13,[16]]],9],[-1,-1,[]],[17,9],[[[13,[18]]],9],[[[13,[19]]],9],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[[]],[20,[[21,[18,9]]]],[20,[[21,[18,9]]]],[20,[[21,[22,9]]]],[20,[[21,[23,9]]]],[20,[[21,[16,9]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[]],[20,[[21,[4,9]]]],[20,[[21,[4,9]]]],[[20,18],[[21,[19,9]]]],[20,[[21,[4,9]]]],[[1,1],[[24,[3]]]],0,[[]],[[]],[[1,19],[[21,[20,9]]]],[9,[[24,[25]]]],0,[-1,-2,[],[]],[1,[[24,[26]]]],[1,19],[-1,19,[]],0,[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[[],[[28,[1]]]],0,0,0,0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[29,29],[[-1,-2],2,[],[]],[[],29],[[],-1,[]],[[],-1,[]],[-1,[[21,[29]]],30],[[29,29],4],[[31,31],4],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,-2],4,[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[29,10],11],[[31,10],11],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[[]],[32,[[24,[31]]]],[33,[[24,[31]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[]],[[]],[[]],[[29,-1],21,34],[31,[[24,[32]]]],[-1,-2,[],[]],[31,[[24,[33]]]],[-1,[[21,[-2]]],[],[]],[35,[[21,[31]]]],[16,[[21,[31]]]],[33,[[21,[31]]]],[36,[[21,[31]]]],[14,[[21,[31]]]],[12,[[21,[31]]]],[37,[[21,[31]]]],[-1,[[21,[-2]]],[],[]],[32,[[21,[31]]]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],0,0,0,0,[[38,20],[[21,[15,9]]]],[-1,[[28,[14]]],[]],[-1,[[28,[14]]],[]],[-1,39,[]],[-1,39,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[23,20],[[21,[19,9]]]],[[22,20],[[21,[19,9]]]],[15,15],[[-1,-2],2,[],[]],[[],-1,[]],[[],-1,[]],[-1,[[21,[15]]],30],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,7]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],8],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,5]]],-3,[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,5]],-2],2,[],[],[]],[[-1,[6,[-2,-3,7]],-2],2,[],[],[]],[[15,10],11],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[[]],[[20,18,16],[[21,[[24,[23]],9]]]],[[20,18,16],[[21,[[24,[22]],9]]]],[[20,18,12],[[21,[[24,[38]],9]]]],[[22,20,18],[[21,[[24,[38]],9]]]],[[22,20,22],[[21,[[24,[29]],9]]]],[[22,20],[[21,[[24,[31]],9]]]],[[38,20,18],[[21,[4,9]]]],[[38,20],[[21,[12,9]]]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[]],[[38,20],[[21,[4,9]]]],[18,23],[18,22],[18,38],[[23,20],[[21,[15,9]]]],[[22,20],[[21,[15,9]]]],[[38,20],[[21,[15,9]]]],[23,18],[22,18],[38,18],[[]],[[]],[[15,-1],21,34],[-1,-2,[],[]],[23,22],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,[[21,[-2]]],[],[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],[-1,27,[]],0,0,0,[[],-1,[]],0,0,[[-1,20],[[21,[19,9]]],[]],[[20,18,16],[[21,[[24,[-1]],9]]],40],[18,-1,[]],[[-1,20],[[21,[15,9]]],[]],[-1,18,[]]],"c":[],"p":[[4,"Connector",0],[15,"tuple"],[4,"Ordering",323],[15,"bool"],[3,"Aligned",324],[3,"FieldOffset",325],[3,"Unaligned",324],[8,"Copy",326],[4,"Error",0],[3,"Formatter",327],[6,"Result",327],[15,"u32"],[4,"PartialError",328],[15,"u8"],[3,"Vec3",196],[15,"i32"],[3,"Error",328],[3,"Address",329],[3,"String",330],[3,"CheatCtx",0],[4,"Result",331],[3,"CPlayerController",196],[3,"CBaseEntity",196],[4,"Option",332],[8,"Error",333],[3,"PossibleValue",334],[3,"TypeId",335],[15,"slice"],[4,"PlayerType",117],[8,"Deserializer",336],[4,"TeamID",117],[15,"i64"],[15,"u64"],[8,"Serializer",337],[15,"i8"],[15,"i16"],[15,"u16"],[3,"CPlayerPawn",196],[3,"DataView",338],[8,"Sized",326],[8,"BaseEntity",316],[8,"MemoryClass",316]]},\
+"radarflow":{"doc":"","t":"AAAFADNNNERRNNLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMFMMFLLLLLLLLLLLLFLFLLMNDENDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMHRAFNDDENLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLLLLLLLLLLLMMMDLLLLMLLLLLLLLLLLLLLLLLFLLLLLFLLLLLF","n":["cli","comms","dma","main","websocket","Cli","Debug","Error","Info","Loglevel","POLL_RANGE","PORT_RANGE","Trace","Warn","augment_args","augment_args_for_update","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cmp","command","command_for_update","compare","connector","default","deref_borrowed","deref_owned","eq","equivalent","equivalent","equivalent","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","from","from","from2","from2","from_arg_matches","from_arg_matches_mut","from_cow_borrow","from_cow_owned","from_ref","group_id","into","into","into_cow_borrow","into_cow_owned","loglevel","partial_cmp","pcileech_device","poll_in_range","poll_rate","port","port_in_range","r_borrow","r_to_owned","to_owned","to_possible_value","try_from","try_from","try_into","try_into","type_id","type_id","update_from_arg_matches","update_from_arg_matches_mut","valid_path","value_variants","version","vzip","vzip","web_path","Bomb","BombData","EntityData","Player","PlayerData","RadarData","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","deref_borrowed","deref_borrowed","deref_borrowed","deref_borrowed","deref_owned","deref_owned","deref_owned","deref_owned","deserialize","deserialize","deserialize","deserialize","empty","f_get","f_get","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","fmt","fmt","fmt","fmt","from","from","from","from","from2","from2","from2","from2","from_cow_borrow","from_cow_borrow","from_cow_borrow","from_cow_borrow","from_cow_owned","from_cow_owned","from_cow_owned","from_cow_owned","from_ref","from_ref","from_ref","from_ref","has_bomb","ingame","into","into","into","into","into_cow_borrow","into_cow_borrow","into_cow_borrow","into_cow_borrow","into_cow_owned","into_cow_owned","into_cow_owned","into_cow_owned","is_planted","map_name","new","new","new","player_data","player_type","pos","pos","r_borrow","r_borrow","r_borrow","r_borrow","r_to_owned","r_to_owned","r_to_owned","r_to_owned","serialize","serialize","serialize","serialize","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","yaw","ONCE","SECOND_AS_NANO","cache","run","Bomb","Cache","CacheBuilder","CachedEntity","Player","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","build","clone","clone_into","deref_borrowed","deref_owned","entity_cache","entity_cache","entity_cache","entity_cache","entity_list","entity_list","entity_list","entity_list","f_get","f_get","f_get","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_copy","f_get_mut","f_get_mut","f_get_mut","f_get_mut_ptr","f_get_mut_ptr","f_get_mut_ptr","f_get_ptr","f_get_ptr","f_get_ptr","f_replace","f_replace","f_replace","f_replace","f_replace","f_replace","f_swap","f_swap","f_swap","f_swap","f_swap","f_swap","from","from","from","from2","from2","from2","from_cow_borrow","from_cow_owned","from_ref","into","into","into","into_cow_borrow","into_cow_owned","is_valid","map_name","map_name","map_name","map_name","new","new_invalid","r_borrow","r_to_owned","timestamp","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","player_type","ptr","ptr","AppState","borrow","borrow_mut","clone","clone_into","data_lock","deref_borrowed","deref_owned","f_get","f_get_copy","f_get_copy","f_get_mut","f_get_mut_ptr","f_get_ptr","f_replace","f_replace","f_swap","f_swap","from","from2","from_cow_borrow","from_cow_owned","from_ref","handle_socket","into","into_cow_borrow","into_cow_owned","r_borrow","r_to_owned","run","to_owned","try_from","try_into","type_id","vzip","ws_handler"],"q":[[0,"radarflow"],[5,"radarflow::cli"],[93,"radarflow::comms"],[248,"radarflow::dma"],[252,"radarflow::dma::cache"],[343,"radarflow::dma::cache::CachedEntity"],[346,"radarflow::websocket"],[382,"anyhow"],[383,"clap_builder::builder::command"],[384,"core::cmp"],[385,"repr_offset::alignment"],[386,"repr_offset::struct_field_offset"],[387,"core::marker"],[388,"repr_offset::alignment"],[389,"clap_builder"],[390,"core::result"],[391,"clap_builder::util::id"],[392,"core::option"],[393,"alloc::string"],[394,"clap_builder::builder::possible_value"],[395,"core::any"],[396,"std::path"],[397,"serde::de"],[398,"core::fmt"],[399,"core::fmt"],[400,"csflow::enums::player_type"],[401,"alloc::vec"],[402,"serde::ser"],[403,"csflow::context"],[404,"tokio::sync::rwlock"],[405,"alloc::sync"],[406,"memflow::types::address"],[407,"axum::extract::ws"],[408,"axum::extract::ws"],[409,"axum_core::response"]],"d":["","","","","","","","","","Wrapper because log::LevelFilter doesn’t implement …","","","","","","","","","","","","","","","","","Specifies the connector type for DMA","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","Verbosity level for logging to the console","","Name of the Pcileech device","","Polling frequency in times per second for the DMA thread","Port number for the Webserver to run on","","","","","","","","","","","","","","","","","","","Path to the directory served by the Webserver","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns empty RadarData, it’s also the same data that …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","Calls <code>U::from(self)</code>.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls <code>U::from(self)</code>.","","","","","","","","","","",""],"i":[0,0,0,0,0,0,4,4,4,0,0,0,4,4,12,12,12,4,12,4,4,4,4,12,12,4,12,4,4,4,4,4,4,4,12,4,12,12,4,4,12,4,12,4,12,4,12,12,4,4,12,12,4,4,12,4,12,4,12,12,4,4,4,12,12,4,4,4,12,4,12,0,12,12,0,4,4,4,4,12,4,12,4,12,4,12,12,0,4,0,12,4,12,26,0,0,26,0,0,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,27,24,25,26,27,24,24,25,25,26,26,27,27,24,25,26,27,24,25,26,27,24,25,26,27,24,24,25,25,26,26,27,27,24,24,25,25,26,26,27,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,27,24,25,26,27,24,25,26,27,24,25,26,27,25,27,24,25,27,27,24,24,25,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,25,26,27,24,0,0,0,0,41,0,0,0,41,40,39,41,40,39,41,39,41,41,41,41,40,39,40,39,40,39,40,39,40,39,41,40,40,39,39,41,41,40,39,41,40,39,41,40,39,41,40,40,39,39,41,41,40,40,39,39,41,41,40,39,41,40,39,41,41,41,41,40,39,41,41,41,40,40,39,40,39,39,40,41,41,40,41,40,39,41,40,39,41,40,39,41,40,39,41,48,49,48,0,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,43,0,43,43,43,43,43,0,43,43,43,43,43,0],"f":[0,0,0,[[],[[2,[1]]]],0,0,0,0,0,0,0,0,0,0,[3,3],[3,3],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[4,4],[[-1,-2],1,[],[]],[[4,4],5],[[],3],[[],3],[[-1,-2],5,[],[]],0,[[],4],[[],-1,[]],[[],-1,[]],[[4,4],6],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,-2],6,[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[11,[[14,[12,13]]]],[11,[[14,[12,13]]]],[-1,[],[]],[[]],[-1,-1,[]],[[],[[16,[15]]]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[]],0,[[4,4],[[16,[5]]]],0,[17,[[14,[18,19]]]],0,0,[17,[[14,[18,19]]]],[[]],[[]],[-1,-2,[],[]],[4,[[16,[20]]]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,21,[]],[-1,21,[]],[[12,11],[[14,[1,13]]]],[[12,11],[[14,[1,13]]]],[17,[[14,[22,19]]]],[[],[[23,[4]]]],[[],19],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[24,24],[25,25],[26,26],[27,27],[[-1,-2],1,[],[]],[[-1,-2],1,[],[]],[[-1,-2],1,[],[]],[[-1,-2],1,[],[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[-1,[[14,[24]]],28],[-1,[[14,[25]]],28],[-1,[[14,[26]]],28],[-1,[[14,[27]]],28],[[],27],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[24,29],30],[[25,29],30],[[26,29],30],[[27,29],30],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[-1,[],[]],[-1,[],[]],[-1,[],[]],[[]],[[]],[[]],[[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[],-1,[]],[[]],[[]],[[]],[[]],0,0,[[31,32,33,6],24],[[31,6],25],[[6,19,[34,[26]]],27],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[24,-1],14,35],[[25,-1],14,35],[[26,-1],14,35],[[27,-1],14,35],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,21,[]],[-1,21,[]],[-1,21,[]],[-1,21,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[[36,19,18,[38,[[37,[27]]]]],[[2,[1]]]],0,0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[39,[[2,[40]]]],[41,41],[[-1,-2],1,[],[]],[[],-1,[]],[[],-1,[]],[40,[[34,[41]]]],[[39,[34,[41]]],39],0,0,[40,42],[[39,42],39],0,0,[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[-1,-1,[]],[-1,-1,[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,[],[]],[[]],[-1,-1,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],[[],-1,[]],[[]],[40,6],[40,19],[[39,19],39],0,0,[[],39],[[],40],[[]],[[]],0,[-1,-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,21,[]],[-1,21,[]],[-1,21,[]],[-1,-2,[],[]],[-1,-2,[],[]],[-1,-2,[],[]],0,0,0,0,[-1,-2,[],[]],[-1,-2,[],[]],[43,43],[[-1,-2],1,[],[]],0,[[],-1,[]],[[],-1,[]],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,7]]],-3,[],[],9],[[-1,[8,[-2,-3,10]]],-3,[],[],9],[[-1,[8,[-2,-3,7]]],-3,[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,-4]]],[],[],[],[],[]],[[-1,[8,[-2,-3,7]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,10]],-3],-3,[],[],[]],[[-1,[8,[-2,-3,7]],-2],1,[],[],[]],[[-1,[8,[-2,-3,10]],-2],1,[],[],[]],[-1,-1,[]],[-1,-2,[],[]],[-1,[],[]],[[]],[-1,-1,[]],[[44,43],1],[-1,-2,[],[]],[[],-1,[]],[[]],[[]],[[]],[[22,18,[38,[[37,[27]]]]],[[2,[1]]]],[-1,-2,[],[]],[-1,[[14,[-2]]],[],[]],[-1,[[14,[-2]]],[],[]],[-1,21,[]],[-1,-2,[],[]],[[45,[46,[43]]],47]],"c":[],"p":[[15,"tuple"],[6,"Result",382],[3,"Command",383],[4,"Loglevel",5],[4,"Ordering",384],[15,"bool"],[3,"Aligned",385],[3,"FieldOffset",386],[8,"Copy",387],[3,"Unaligned",385],[3,"ArgMatches",388],[3,"Cli",5],[6,"Error",389],[4,"Result",390],[3,"Id",391],[4,"Option",392],[15,"str"],[15,"u16"],[3,"String",393],[3,"PossibleValue",394],[3,"TypeId",395],[3,"PathBuf",396],[15,"slice"],[3,"PlayerData",93],[3,"BombData",93],[4,"EntityData",93],[3,"RadarData",93],[8,"Deserializer",397],[3,"Formatter",398],[6,"Result",398],[3,"Vec3",399],[15,"f32"],[4,"PlayerType",400],[3,"Vec",401],[8,"Serializer",402],[4,"Connector",403],[3,"RwLock",404],[3,"Arc",405],[3,"CacheBuilder",252],[3,"Cache",252],[4,"CachedEntity",252],[3,"Address",406],[3,"AppState",346],[3,"WebSocket",407],[3,"WebSocketUpgrade",407],[3,"State",408],[6,"Response",409],[13,"Player",343],[13,"Bomb",343]]}\
+}');
+if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)};
+if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex};
diff --git a/docs/settings.html b/docs/settings.html
new file mode 100644
index 0000000..759e0d5
--- /dev/null
+++ b/docs/settings.html
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Settings of Rustdoc"><title>Rustdoc settings</title><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="./static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="./static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="./static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="./" data-static-root-path="./static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="./static.files/storage-fec3eaa3851e447d.js"></script><script defer src="./static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="./static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="./static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="./static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="./static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="logo-container" href="./csflow/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="./csflow/index.html"><img class="rust-logo" src="./static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location">Settings</h2><div class="sidebar-elems"></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="./help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="./settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="./static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Rustdoc settings</h1><span class="out-of-band"><a id="back" href="javascript:void(0)" onclick="history.back();">Back</a></span></div><noscript><section>You need to enable JavaScript be able to update your settings.</section></noscript><script defer src="./static.files/settings-74424d7eec62a23e.js"></script></section></div></main></body></html>
\ No newline at end of file
diff --git a/docs/src-files.js b/docs/src-files.js
new file mode 100644
index 0000000..f3be137
--- /dev/null
+++ b/docs/src-files.js
@@ -0,0 +1,5 @@
+var srcIndex = JSON.parse('{\
+"csflow":["",[["cs2dumper",[],["client.rs","engine2.rs","mod.rs","offsets.rs"]],["enums",[],["mod.rs","player_type.rs","teamid.rs"]],["structs",[["entity",[],["base_entity.rs","mod.rs","player_controller.rs","player_pawn.rs"]]],["mod.rs","vec3.rs"]],["traits",[],["base_entity.rs","memory_class.rs","mod.rs"]]],["context.rs","error.rs","lib.rs"]],\
+"radarflow":["",[["dma",[],["cache.rs","mod.rs"]]],["cli.rs","comms.rs","main.rs","websocket.rs"]]\
+}');
+createSrcSidebar();
diff --git a/docs/src/csflow/context.rs.html b/docs/src/csflow/context.rs.html
new file mode 100644
index 0000000..07829d6
--- /dev/null
+++ b/docs/src/csflow/context.rs.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/context.rs`."><title>context.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::{plugins::{IntoProcessInstanceArcBox, Inventory, ConnectorArgs, args::Args}, os::{ModuleInfo, Os, Process}, mem::MemoryView, types::Address};
+
+<span class="kw">use crate</span>::{error::Error, structs::{CPlayerController, CBaseEntity}, cs2dumper, traits::MemoryClass};
+
+<span class="kw">pub struct </span>CheatCtx {
+    <span class="kw">pub </span>process: IntoProcessInstanceArcBox&lt;<span class="lifetime">&#39;static</span>&gt;,
+    <span class="kw">pub </span>client_module: ModuleInfo,
+    <span class="kw">pub </span>engine_module: ModuleInfo,
+}
+
+<span class="kw">impl </span>CheatCtx {
+    <span class="kw">fn </span>check_version(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;(), Error&gt; {
+        <span class="kw">let </span>game_build_number: u32 = <span class="self">self</span>.process.read(<span class="self">self</span>.engine_module.base + cs2dumper::offsets::engine2_dll::dwBuildNumber)<span class="question-mark">?</span>;
+        <span class="kw">let </span>offset_build_number = cs2dumper::offsets::game_info::buildNumber;
+
+        <span class="kw">if </span>game_build_number <span class="kw">as </span>usize != offset_build_number {
+            <span class="kw">return </span><span class="prelude-val">Err</span>(Error::GameVersionMismatch(game_build_number <span class="kw">as </span>usize, offset_build_number))
+        }
+
+        <span class="prelude-val">Ok</span>(())
+    }
+
+    <span class="kw">pub fn </span>setup(connector: Connector, pcileech_device: String) -&gt; <span class="prelude-ty">Result</span>&lt;CheatCtx, Error&gt; {
+        <span class="kw">let </span>inventory = Inventory::scan();
+
+        <span class="kw">let </span>os = { 
+            <span class="kw">if </span>connector == Connector::Pcileech {
+                <span class="kw">let </span>args = Args::new()
+                    .insert(<span class="string">&quot;device&quot;</span>, <span class="kw-2">&amp;</span>pcileech_device);
+
+                <span class="kw">let </span>connector_args = ConnectorArgs::new(<span class="prelude-val">None</span>, args, <span class="prelude-val">None</span>);                
+
+                inventory.builder()
+                    .connector(<span class="kw-2">&amp;</span>connector.to_string())
+                    .args(connector_args)
+                    .os(<span class="string">&quot;win32&quot;</span>)
+                    .build()<span class="question-mark">?
+            </span>} <span class="kw">else </span>{
+                inventory.builder()
+                .connector(<span class="kw-2">&amp;</span>connector.to_string())
+                .os(<span class="string">&quot;win32&quot;</span>)
+                .build()<span class="question-mark">?
+            </span>}
+        };
+
+        <span class="kw">let </span><span class="kw-2">mut </span>process = os.into_process_by_name(<span class="string">&quot;cs2.exe&quot;</span>)<span class="question-mark">?</span>;
+
+        <span class="kw">let </span>client_module = process.module_by_name(<span class="string">&quot;client.dll&quot;</span>)<span class="question-mark">?</span>;
+
+        <span class="kw">let </span>engine_module = process.module_by_name(<span class="string">&quot;engine2.dll&quot;</span>)<span class="question-mark">?</span>;
+
+        <span class="kw">let </span><span class="kw-2">mut </span>ctx = <span class="self">Self </span>{
+            process,
+            client_module,
+            engine_module,
+        };
+
+        ctx.check_version()<span class="question-mark">?</span>;
+
+        <span class="prelude-val">Ok</span>(ctx)
+    }
+
+    <span class="kw">pub fn </span>get_local(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;CPlayerController, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwLocalPlayerController)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(CPlayerController::new(ptr))
+    }
+    
+    <span class="kw">pub fn </span>get_plantedc4(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;CBaseEntity, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwPlantedC4)<span class="question-mark">?</span>;
+        <span class="kw">let </span>ptr2 = <span class="self">self</span>.process.read_addr64(ptr)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(CBaseEntity::new(ptr2))
+    }
+    
+    <span class="kw">pub fn </span>is_bomb_planted(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;bool, Error&gt; {
+        <span class="kw">let </span>game_rules = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwGameRules)<span class="question-mark">?</span>;
+        <span class="kw">let </span>data: u8 = <span class="self">self</span>.process.read(game_rules + cs2dumper::client::C_CSGameRules::m_bBombPlanted)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(data != <span class="number">0</span>)
+    }
+    
+    <span class="kw">pub fn </span>is_bomb_dropped(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;bool, Error&gt; {
+        <span class="kw">let </span>game_rules = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwGameRules)<span class="question-mark">?</span>;
+        <span class="kw">let </span>data: u8 = <span class="self">self</span>.process.read(game_rules + cs2dumper::client::C_CSGameRules::m_bBombDropped)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(data != <span class="number">0</span>)
+    }
+
+    <span class="kw">pub fn </span>get_entity_list(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;Address, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwEntityList)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ptr)
+    }
+    
+    <span class="kw">pub fn </span>get_globals(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;Address, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwGlobalVars)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ptr)
+    }
+    
+    <span class="kw">pub fn </span>map_name(<span class="kw-2">&amp;mut </span><span class="self">self</span>, global_vars: Address) -&gt; <span class="prelude-ty">Result</span>&lt;String, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(global_vars + <span class="number">0x188</span>)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(<span class="self">self</span>.process.read_char_string_n(ptr, <span class="number">32</span>)<span class="question-mark">?</span>)
+    }
+    
+    <span class="kw">pub fn </span>highest_entity_index(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;i32, Error&gt; {
+        <span class="kw">let </span>game_entity_system = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.client_module.base + cs2dumper::offsets::client_dll::dwGameEntitySystem)<span class="question-mark">?</span>;
+        <span class="kw">let </span>highest_index = <span class="self">self</span>.process.read(game_entity_system + cs2dumper::offsets::client_dll::dwGameEntitySystem_getHighestEntityIndex)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(highest_index)
+    }
+    
+    <span class="kw">pub fn </span>network_is_ingame(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; <span class="prelude-ty">Result</span>&lt;bool, Error&gt; {
+        <span class="kw">let </span>ptr = <span class="self">self</span>.process.read_addr64(<span class="self">self</span>.engine_module.base + cs2dumper::offsets::engine2_dll::dwNetworkGameClient)<span class="question-mark">?</span>;
+        <span class="kw">let </span>signonstate: i32 = <span class="self">self</span>.process.read(ptr + cs2dumper::offsets::engine2_dll::dwNetworkGameClient_signOnState)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(signonstate == <span class="number">6</span>)
+    }
+}
+
+<span class="attr">#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, clap::ValueEnum, Default)]
+</span><span class="kw">pub enum </span>Connector {
+    <span class="attr">#[default]
+    </span>Qemu,
+    Kvm,
+    Pcileech
+}
+
+<span class="kw">impl </span>ToString <span class="kw">for </span>Connector {
+    <span class="kw">fn </span>to_string(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; String {
+        <span class="kw">match </span><span class="self">self </span>{
+            Connector::Qemu =&gt; String::from(<span class="string">&quot;qemu&quot;</span>),
+            Connector::Kvm =&gt; String::from(<span class="string">&quot;kvm&quot;</span>),
+            Connector::Pcileech =&gt; String::from(<span class="string">&quot;pcileech&quot;</span>),
+        }
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/cs2dumper/client.rs.html b/docs/src/csflow/cs2dumper/client.rs.html
new file mode 100644
index 0000000..d4a037b
--- /dev/null
+++ b/docs/src/csflow/cs2dumper/client.rs.html
@@ -0,0 +1,8340 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/cs2dumper/client.rs`."><title>client.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+<a href="#245" id="245">245</a>
+<a href="#246" id="246">246</a>
+<a href="#247" id="247">247</a>
+<a href="#248" id="248">248</a>
+<a href="#249" id="249">249</a>
+<a href="#250" id="250">250</a>
+<a href="#251" id="251">251</a>
+<a href="#252" id="252">252</a>
+<a href="#253" id="253">253</a>
+<a href="#254" id="254">254</a>
+<a href="#255" id="255">255</a>
+<a href="#256" id="256">256</a>
+<a href="#257" id="257">257</a>
+<a href="#258" id="258">258</a>
+<a href="#259" id="259">259</a>
+<a href="#260" id="260">260</a>
+<a href="#261" id="261">261</a>
+<a href="#262" id="262">262</a>
+<a href="#263" id="263">263</a>
+<a href="#264" id="264">264</a>
+<a href="#265" id="265">265</a>
+<a href="#266" id="266">266</a>
+<a href="#267" id="267">267</a>
+<a href="#268" id="268">268</a>
+<a href="#269" id="269">269</a>
+<a href="#270" id="270">270</a>
+<a href="#271" id="271">271</a>
+<a href="#272" id="272">272</a>
+<a href="#273" id="273">273</a>
+<a href="#274" id="274">274</a>
+<a href="#275" id="275">275</a>
+<a href="#276" id="276">276</a>
+<a href="#277" id="277">277</a>
+<a href="#278" id="278">278</a>
+<a href="#279" id="279">279</a>
+<a href="#280" id="280">280</a>
+<a href="#281" id="281">281</a>
+<a href="#282" id="282">282</a>
+<a href="#283" id="283">283</a>
+<a href="#284" id="284">284</a>
+<a href="#285" id="285">285</a>
+<a href="#286" id="286">286</a>
+<a href="#287" id="287">287</a>
+<a href="#288" id="288">288</a>
+<a href="#289" id="289">289</a>
+<a href="#290" id="290">290</a>
+<a href="#291" id="291">291</a>
+<a href="#292" id="292">292</a>
+<a href="#293" id="293">293</a>
+<a href="#294" id="294">294</a>
+<a href="#295" id="295">295</a>
+<a href="#296" id="296">296</a>
+<a href="#297" id="297">297</a>
+<a href="#298" id="298">298</a>
+<a href="#299" id="299">299</a>
+<a href="#300" id="300">300</a>
+<a href="#301" id="301">301</a>
+<a href="#302" id="302">302</a>
+<a href="#303" id="303">303</a>
+<a href="#304" id="304">304</a>
+<a href="#305" id="305">305</a>
+<a href="#306" id="306">306</a>
+<a href="#307" id="307">307</a>
+<a href="#308" id="308">308</a>
+<a href="#309" id="309">309</a>
+<a href="#310" id="310">310</a>
+<a href="#311" id="311">311</a>
+<a href="#312" id="312">312</a>
+<a href="#313" id="313">313</a>
+<a href="#314" id="314">314</a>
+<a href="#315" id="315">315</a>
+<a href="#316" id="316">316</a>
+<a href="#317" id="317">317</a>
+<a href="#318" id="318">318</a>
+<a href="#319" id="319">319</a>
+<a href="#320" id="320">320</a>
+<a href="#321" id="321">321</a>
+<a href="#322" id="322">322</a>
+<a href="#323" id="323">323</a>
+<a href="#324" id="324">324</a>
+<a href="#325" id="325">325</a>
+<a href="#326" id="326">326</a>
+<a href="#327" id="327">327</a>
+<a href="#328" id="328">328</a>
+<a href="#329" id="329">329</a>
+<a href="#330" id="330">330</a>
+<a href="#331" id="331">331</a>
+<a href="#332" id="332">332</a>
+<a href="#333" id="333">333</a>
+<a href="#334" id="334">334</a>
+<a href="#335" id="335">335</a>
+<a href="#336" id="336">336</a>
+<a href="#337" id="337">337</a>
+<a href="#338" id="338">338</a>
+<a href="#339" id="339">339</a>
+<a href="#340" id="340">340</a>
+<a href="#341" id="341">341</a>
+<a href="#342" id="342">342</a>
+<a href="#343" id="343">343</a>
+<a href="#344" id="344">344</a>
+<a href="#345" id="345">345</a>
+<a href="#346" id="346">346</a>
+<a href="#347" id="347">347</a>
+<a href="#348" id="348">348</a>
+<a href="#349" id="349">349</a>
+<a href="#350" id="350">350</a>
+<a href="#351" id="351">351</a>
+<a href="#352" id="352">352</a>
+<a href="#353" id="353">353</a>
+<a href="#354" id="354">354</a>
+<a href="#355" id="355">355</a>
+<a href="#356" id="356">356</a>
+<a href="#357" id="357">357</a>
+<a href="#358" id="358">358</a>
+<a href="#359" id="359">359</a>
+<a href="#360" id="360">360</a>
+<a href="#361" id="361">361</a>
+<a href="#362" id="362">362</a>
+<a href="#363" id="363">363</a>
+<a href="#364" id="364">364</a>
+<a href="#365" id="365">365</a>
+<a href="#366" id="366">366</a>
+<a href="#367" id="367">367</a>
+<a href="#368" id="368">368</a>
+<a href="#369" id="369">369</a>
+<a href="#370" id="370">370</a>
+<a href="#371" id="371">371</a>
+<a href="#372" id="372">372</a>
+<a href="#373" id="373">373</a>
+<a href="#374" id="374">374</a>
+<a href="#375" id="375">375</a>
+<a href="#376" id="376">376</a>
+<a href="#377" id="377">377</a>
+<a href="#378" id="378">378</a>
+<a href="#379" id="379">379</a>
+<a href="#380" id="380">380</a>
+<a href="#381" id="381">381</a>
+<a href="#382" id="382">382</a>
+<a href="#383" id="383">383</a>
+<a href="#384" id="384">384</a>
+<a href="#385" id="385">385</a>
+<a href="#386" id="386">386</a>
+<a href="#387" id="387">387</a>
+<a href="#388" id="388">388</a>
+<a href="#389" id="389">389</a>
+<a href="#390" id="390">390</a>
+<a href="#391" id="391">391</a>
+<a href="#392" id="392">392</a>
+<a href="#393" id="393">393</a>
+<a href="#394" id="394">394</a>
+<a href="#395" id="395">395</a>
+<a href="#396" id="396">396</a>
+<a href="#397" id="397">397</a>
+<a href="#398" id="398">398</a>
+<a href="#399" id="399">399</a>
+<a href="#400" id="400">400</a>
+<a href="#401" id="401">401</a>
+<a href="#402" id="402">402</a>
+<a href="#403" id="403">403</a>
+<a href="#404" id="404">404</a>
+<a href="#405" id="405">405</a>
+<a href="#406" id="406">406</a>
+<a href="#407" id="407">407</a>
+<a href="#408" id="408">408</a>
+<a href="#409" id="409">409</a>
+<a href="#410" id="410">410</a>
+<a href="#411" id="411">411</a>
+<a href="#412" id="412">412</a>
+<a href="#413" id="413">413</a>
+<a href="#414" id="414">414</a>
+<a href="#415" id="415">415</a>
+<a href="#416" id="416">416</a>
+<a href="#417" id="417">417</a>
+<a href="#418" id="418">418</a>
+<a href="#419" id="419">419</a>
+<a href="#420" id="420">420</a>
+<a href="#421" id="421">421</a>
+<a href="#422" id="422">422</a>
+<a href="#423" id="423">423</a>
+<a href="#424" id="424">424</a>
+<a href="#425" id="425">425</a>
+<a href="#426" id="426">426</a>
+<a href="#427" id="427">427</a>
+<a href="#428" id="428">428</a>
+<a href="#429" id="429">429</a>
+<a href="#430" id="430">430</a>
+<a href="#431" id="431">431</a>
+<a href="#432" id="432">432</a>
+<a href="#433" id="433">433</a>
+<a href="#434" id="434">434</a>
+<a href="#435" id="435">435</a>
+<a href="#436" id="436">436</a>
+<a href="#437" id="437">437</a>
+<a href="#438" id="438">438</a>
+<a href="#439" id="439">439</a>
+<a href="#440" id="440">440</a>
+<a href="#441" id="441">441</a>
+<a href="#442" id="442">442</a>
+<a href="#443" id="443">443</a>
+<a href="#444" id="444">444</a>
+<a href="#445" id="445">445</a>
+<a href="#446" id="446">446</a>
+<a href="#447" id="447">447</a>
+<a href="#448" id="448">448</a>
+<a href="#449" id="449">449</a>
+<a href="#450" id="450">450</a>
+<a href="#451" id="451">451</a>
+<a href="#452" id="452">452</a>
+<a href="#453" id="453">453</a>
+<a href="#454" id="454">454</a>
+<a href="#455" id="455">455</a>
+<a href="#456" id="456">456</a>
+<a href="#457" id="457">457</a>
+<a href="#458" id="458">458</a>
+<a href="#459" id="459">459</a>
+<a href="#460" id="460">460</a>
+<a href="#461" id="461">461</a>
+<a href="#462" id="462">462</a>
+<a href="#463" id="463">463</a>
+<a href="#464" id="464">464</a>
+<a href="#465" id="465">465</a>
+<a href="#466" id="466">466</a>
+<a href="#467" id="467">467</a>
+<a href="#468" id="468">468</a>
+<a href="#469" id="469">469</a>
+<a href="#470" id="470">470</a>
+<a href="#471" id="471">471</a>
+<a href="#472" id="472">472</a>
+<a href="#473" id="473">473</a>
+<a href="#474" id="474">474</a>
+<a href="#475" id="475">475</a>
+<a href="#476" id="476">476</a>
+<a href="#477" id="477">477</a>
+<a href="#478" id="478">478</a>
+<a href="#479" id="479">479</a>
+<a href="#480" id="480">480</a>
+<a href="#481" id="481">481</a>
+<a href="#482" id="482">482</a>
+<a href="#483" id="483">483</a>
+<a href="#484" id="484">484</a>
+<a href="#485" id="485">485</a>
+<a href="#486" id="486">486</a>
+<a href="#487" id="487">487</a>
+<a href="#488" id="488">488</a>
+<a href="#489" id="489">489</a>
+<a href="#490" id="490">490</a>
+<a href="#491" id="491">491</a>
+<a href="#492" id="492">492</a>
+<a href="#493" id="493">493</a>
+<a href="#494" id="494">494</a>
+<a href="#495" id="495">495</a>
+<a href="#496" id="496">496</a>
+<a href="#497" id="497">497</a>
+<a href="#498" id="498">498</a>
+<a href="#499" id="499">499</a>
+<a href="#500" id="500">500</a>
+<a href="#501" id="501">501</a>
+<a href="#502" id="502">502</a>
+<a href="#503" id="503">503</a>
+<a href="#504" id="504">504</a>
+<a href="#505" id="505">505</a>
+<a href="#506" id="506">506</a>
+<a href="#507" id="507">507</a>
+<a href="#508" id="508">508</a>
+<a href="#509" id="509">509</a>
+<a href="#510" id="510">510</a>
+<a href="#511" id="511">511</a>
+<a href="#512" id="512">512</a>
+<a href="#513" id="513">513</a>
+<a href="#514" id="514">514</a>
+<a href="#515" id="515">515</a>
+<a href="#516" id="516">516</a>
+<a href="#517" id="517">517</a>
+<a href="#518" id="518">518</a>
+<a href="#519" id="519">519</a>
+<a href="#520" id="520">520</a>
+<a href="#521" id="521">521</a>
+<a href="#522" id="522">522</a>
+<a href="#523" id="523">523</a>
+<a href="#524" id="524">524</a>
+<a href="#525" id="525">525</a>
+<a href="#526" id="526">526</a>
+<a href="#527" id="527">527</a>
+<a href="#528" id="528">528</a>
+<a href="#529" id="529">529</a>
+<a href="#530" id="530">530</a>
+<a href="#531" id="531">531</a>
+<a href="#532" id="532">532</a>
+<a href="#533" id="533">533</a>
+<a href="#534" id="534">534</a>
+<a href="#535" id="535">535</a>
+<a href="#536" id="536">536</a>
+<a href="#537" id="537">537</a>
+<a href="#538" id="538">538</a>
+<a href="#539" id="539">539</a>
+<a href="#540" id="540">540</a>
+<a href="#541" id="541">541</a>
+<a href="#542" id="542">542</a>
+<a href="#543" id="543">543</a>
+<a href="#544" id="544">544</a>
+<a href="#545" id="545">545</a>
+<a href="#546" id="546">546</a>
+<a href="#547" id="547">547</a>
+<a href="#548" id="548">548</a>
+<a href="#549" id="549">549</a>
+<a href="#550" id="550">550</a>
+<a href="#551" id="551">551</a>
+<a href="#552" id="552">552</a>
+<a href="#553" id="553">553</a>
+<a href="#554" id="554">554</a>
+<a href="#555" id="555">555</a>
+<a href="#556" id="556">556</a>
+<a href="#557" id="557">557</a>
+<a href="#558" id="558">558</a>
+<a href="#559" id="559">559</a>
+<a href="#560" id="560">560</a>
+<a href="#561" id="561">561</a>
+<a href="#562" id="562">562</a>
+<a href="#563" id="563">563</a>
+<a href="#564" id="564">564</a>
+<a href="#565" id="565">565</a>
+<a href="#566" id="566">566</a>
+<a href="#567" id="567">567</a>
+<a href="#568" id="568">568</a>
+<a href="#569" id="569">569</a>
+<a href="#570" id="570">570</a>
+<a href="#571" id="571">571</a>
+<a href="#572" id="572">572</a>
+<a href="#573" id="573">573</a>
+<a href="#574" id="574">574</a>
+<a href="#575" id="575">575</a>
+<a href="#576" id="576">576</a>
+<a href="#577" id="577">577</a>
+<a href="#578" id="578">578</a>
+<a href="#579" id="579">579</a>
+<a href="#580" id="580">580</a>
+<a href="#581" id="581">581</a>
+<a href="#582" id="582">582</a>
+<a href="#583" id="583">583</a>
+<a href="#584" id="584">584</a>
+<a href="#585" id="585">585</a>
+<a href="#586" id="586">586</a>
+<a href="#587" id="587">587</a>
+<a href="#588" id="588">588</a>
+<a href="#589" id="589">589</a>
+<a href="#590" id="590">590</a>
+<a href="#591" id="591">591</a>
+<a href="#592" id="592">592</a>
+<a href="#593" id="593">593</a>
+<a href="#594" id="594">594</a>
+<a href="#595" id="595">595</a>
+<a href="#596" id="596">596</a>
+<a href="#597" id="597">597</a>
+<a href="#598" id="598">598</a>
+<a href="#599" id="599">599</a>
+<a href="#600" id="600">600</a>
+<a href="#601" id="601">601</a>
+<a href="#602" id="602">602</a>
+<a href="#603" id="603">603</a>
+<a href="#604" id="604">604</a>
+<a href="#605" id="605">605</a>
+<a href="#606" id="606">606</a>
+<a href="#607" id="607">607</a>
+<a href="#608" id="608">608</a>
+<a href="#609" id="609">609</a>
+<a href="#610" id="610">610</a>
+<a href="#611" id="611">611</a>
+<a href="#612" id="612">612</a>
+<a href="#613" id="613">613</a>
+<a href="#614" id="614">614</a>
+<a href="#615" id="615">615</a>
+<a href="#616" id="616">616</a>
+<a href="#617" id="617">617</a>
+<a href="#618" id="618">618</a>
+<a href="#619" id="619">619</a>
+<a href="#620" id="620">620</a>
+<a href="#621" id="621">621</a>
+<a href="#622" id="622">622</a>
+<a href="#623" id="623">623</a>
+<a href="#624" id="624">624</a>
+<a href="#625" id="625">625</a>
+<a href="#626" id="626">626</a>
+<a href="#627" id="627">627</a>
+<a href="#628" id="628">628</a>
+<a href="#629" id="629">629</a>
+<a href="#630" id="630">630</a>
+<a href="#631" id="631">631</a>
+<a href="#632" id="632">632</a>
+<a href="#633" id="633">633</a>
+<a href="#634" id="634">634</a>
+<a href="#635" id="635">635</a>
+<a href="#636" id="636">636</a>
+<a href="#637" id="637">637</a>
+<a href="#638" id="638">638</a>
+<a href="#639" id="639">639</a>
+<a href="#640" id="640">640</a>
+<a href="#641" id="641">641</a>
+<a href="#642" id="642">642</a>
+<a href="#643" id="643">643</a>
+<a href="#644" id="644">644</a>
+<a href="#645" id="645">645</a>
+<a href="#646" id="646">646</a>
+<a href="#647" id="647">647</a>
+<a href="#648" id="648">648</a>
+<a href="#649" id="649">649</a>
+<a href="#650" id="650">650</a>
+<a href="#651" id="651">651</a>
+<a href="#652" id="652">652</a>
+<a href="#653" id="653">653</a>
+<a href="#654" id="654">654</a>
+<a href="#655" id="655">655</a>
+<a href="#656" id="656">656</a>
+<a href="#657" id="657">657</a>
+<a href="#658" id="658">658</a>
+<a href="#659" id="659">659</a>
+<a href="#660" id="660">660</a>
+<a href="#661" id="661">661</a>
+<a href="#662" id="662">662</a>
+<a href="#663" id="663">663</a>
+<a href="#664" id="664">664</a>
+<a href="#665" id="665">665</a>
+<a href="#666" id="666">666</a>
+<a href="#667" id="667">667</a>
+<a href="#668" id="668">668</a>
+<a href="#669" id="669">669</a>
+<a href="#670" id="670">670</a>
+<a href="#671" id="671">671</a>
+<a href="#672" id="672">672</a>
+<a href="#673" id="673">673</a>
+<a href="#674" id="674">674</a>
+<a href="#675" id="675">675</a>
+<a href="#676" id="676">676</a>
+<a href="#677" id="677">677</a>
+<a href="#678" id="678">678</a>
+<a href="#679" id="679">679</a>
+<a href="#680" id="680">680</a>
+<a href="#681" id="681">681</a>
+<a href="#682" id="682">682</a>
+<a href="#683" id="683">683</a>
+<a href="#684" id="684">684</a>
+<a href="#685" id="685">685</a>
+<a href="#686" id="686">686</a>
+<a href="#687" id="687">687</a>
+<a href="#688" id="688">688</a>
+<a href="#689" id="689">689</a>
+<a href="#690" id="690">690</a>
+<a href="#691" id="691">691</a>
+<a href="#692" id="692">692</a>
+<a href="#693" id="693">693</a>
+<a href="#694" id="694">694</a>
+<a href="#695" id="695">695</a>
+<a href="#696" id="696">696</a>
+<a href="#697" id="697">697</a>
+<a href="#698" id="698">698</a>
+<a href="#699" id="699">699</a>
+<a href="#700" id="700">700</a>
+<a href="#701" id="701">701</a>
+<a href="#702" id="702">702</a>
+<a href="#703" id="703">703</a>
+<a href="#704" id="704">704</a>
+<a href="#705" id="705">705</a>
+<a href="#706" id="706">706</a>
+<a href="#707" id="707">707</a>
+<a href="#708" id="708">708</a>
+<a href="#709" id="709">709</a>
+<a href="#710" id="710">710</a>
+<a href="#711" id="711">711</a>
+<a href="#712" id="712">712</a>
+<a href="#713" id="713">713</a>
+<a href="#714" id="714">714</a>
+<a href="#715" id="715">715</a>
+<a href="#716" id="716">716</a>
+<a href="#717" id="717">717</a>
+<a href="#718" id="718">718</a>
+<a href="#719" id="719">719</a>
+<a href="#720" id="720">720</a>
+<a href="#721" id="721">721</a>
+<a href="#722" id="722">722</a>
+<a href="#723" id="723">723</a>
+<a href="#724" id="724">724</a>
+<a href="#725" id="725">725</a>
+<a href="#726" id="726">726</a>
+<a href="#727" id="727">727</a>
+<a href="#728" id="728">728</a>
+<a href="#729" id="729">729</a>
+<a href="#730" id="730">730</a>
+<a href="#731" id="731">731</a>
+<a href="#732" id="732">732</a>
+<a href="#733" id="733">733</a>
+<a href="#734" id="734">734</a>
+<a href="#735" id="735">735</a>
+<a href="#736" id="736">736</a>
+<a href="#737" id="737">737</a>
+<a href="#738" id="738">738</a>
+<a href="#739" id="739">739</a>
+<a href="#740" id="740">740</a>
+<a href="#741" id="741">741</a>
+<a href="#742" id="742">742</a>
+<a href="#743" id="743">743</a>
+<a href="#744" id="744">744</a>
+<a href="#745" id="745">745</a>
+<a href="#746" id="746">746</a>
+<a href="#747" id="747">747</a>
+<a href="#748" id="748">748</a>
+<a href="#749" id="749">749</a>
+<a href="#750" id="750">750</a>
+<a href="#751" id="751">751</a>
+<a href="#752" id="752">752</a>
+<a href="#753" id="753">753</a>
+<a href="#754" id="754">754</a>
+<a href="#755" id="755">755</a>
+<a href="#756" id="756">756</a>
+<a href="#757" id="757">757</a>
+<a href="#758" id="758">758</a>
+<a href="#759" id="759">759</a>
+<a href="#760" id="760">760</a>
+<a href="#761" id="761">761</a>
+<a href="#762" id="762">762</a>
+<a href="#763" id="763">763</a>
+<a href="#764" id="764">764</a>
+<a href="#765" id="765">765</a>
+<a href="#766" id="766">766</a>
+<a href="#767" id="767">767</a>
+<a href="#768" id="768">768</a>
+<a href="#769" id="769">769</a>
+<a href="#770" id="770">770</a>
+<a href="#771" id="771">771</a>
+<a href="#772" id="772">772</a>
+<a href="#773" id="773">773</a>
+<a href="#774" id="774">774</a>
+<a href="#775" id="775">775</a>
+<a href="#776" id="776">776</a>
+<a href="#777" id="777">777</a>
+<a href="#778" id="778">778</a>
+<a href="#779" id="779">779</a>
+<a href="#780" id="780">780</a>
+<a href="#781" id="781">781</a>
+<a href="#782" id="782">782</a>
+<a href="#783" id="783">783</a>
+<a href="#784" id="784">784</a>
+<a href="#785" id="785">785</a>
+<a href="#786" id="786">786</a>
+<a href="#787" id="787">787</a>
+<a href="#788" id="788">788</a>
+<a href="#789" id="789">789</a>
+<a href="#790" id="790">790</a>
+<a href="#791" id="791">791</a>
+<a href="#792" id="792">792</a>
+<a href="#793" id="793">793</a>
+<a href="#794" id="794">794</a>
+<a href="#795" id="795">795</a>
+<a href="#796" id="796">796</a>
+<a href="#797" id="797">797</a>
+<a href="#798" id="798">798</a>
+<a href="#799" id="799">799</a>
+<a href="#800" id="800">800</a>
+<a href="#801" id="801">801</a>
+<a href="#802" id="802">802</a>
+<a href="#803" id="803">803</a>
+<a href="#804" id="804">804</a>
+<a href="#805" id="805">805</a>
+<a href="#806" id="806">806</a>
+<a href="#807" id="807">807</a>
+<a href="#808" id="808">808</a>
+<a href="#809" id="809">809</a>
+<a href="#810" id="810">810</a>
+<a href="#811" id="811">811</a>
+<a href="#812" id="812">812</a>
+<a href="#813" id="813">813</a>
+<a href="#814" id="814">814</a>
+<a href="#815" id="815">815</a>
+<a href="#816" id="816">816</a>
+<a href="#817" id="817">817</a>
+<a href="#818" id="818">818</a>
+<a href="#819" id="819">819</a>
+<a href="#820" id="820">820</a>
+<a href="#821" id="821">821</a>
+<a href="#822" id="822">822</a>
+<a href="#823" id="823">823</a>
+<a href="#824" id="824">824</a>
+<a href="#825" id="825">825</a>
+<a href="#826" id="826">826</a>
+<a href="#827" id="827">827</a>
+<a href="#828" id="828">828</a>
+<a href="#829" id="829">829</a>
+<a href="#830" id="830">830</a>
+<a href="#831" id="831">831</a>
+<a href="#832" id="832">832</a>
+<a href="#833" id="833">833</a>
+<a href="#834" id="834">834</a>
+<a href="#835" id="835">835</a>
+<a href="#836" id="836">836</a>
+<a href="#837" id="837">837</a>
+<a href="#838" id="838">838</a>
+<a href="#839" id="839">839</a>
+<a href="#840" id="840">840</a>
+<a href="#841" id="841">841</a>
+<a href="#842" id="842">842</a>
+<a href="#843" id="843">843</a>
+<a href="#844" id="844">844</a>
+<a href="#845" id="845">845</a>
+<a href="#846" id="846">846</a>
+<a href="#847" id="847">847</a>
+<a href="#848" id="848">848</a>
+<a href="#849" id="849">849</a>
+<a href="#850" id="850">850</a>
+<a href="#851" id="851">851</a>
+<a href="#852" id="852">852</a>
+<a href="#853" id="853">853</a>
+<a href="#854" id="854">854</a>
+<a href="#855" id="855">855</a>
+<a href="#856" id="856">856</a>
+<a href="#857" id="857">857</a>
+<a href="#858" id="858">858</a>
+<a href="#859" id="859">859</a>
+<a href="#860" id="860">860</a>
+<a href="#861" id="861">861</a>
+<a href="#862" id="862">862</a>
+<a href="#863" id="863">863</a>
+<a href="#864" id="864">864</a>
+<a href="#865" id="865">865</a>
+<a href="#866" id="866">866</a>
+<a href="#867" id="867">867</a>
+<a href="#868" id="868">868</a>
+<a href="#869" id="869">869</a>
+<a href="#870" id="870">870</a>
+<a href="#871" id="871">871</a>
+<a href="#872" id="872">872</a>
+<a href="#873" id="873">873</a>
+<a href="#874" id="874">874</a>
+<a href="#875" id="875">875</a>
+<a href="#876" id="876">876</a>
+<a href="#877" id="877">877</a>
+<a href="#878" id="878">878</a>
+<a href="#879" id="879">879</a>
+<a href="#880" id="880">880</a>
+<a href="#881" id="881">881</a>
+<a href="#882" id="882">882</a>
+<a href="#883" id="883">883</a>
+<a href="#884" id="884">884</a>
+<a href="#885" id="885">885</a>
+<a href="#886" id="886">886</a>
+<a href="#887" id="887">887</a>
+<a href="#888" id="888">888</a>
+<a href="#889" id="889">889</a>
+<a href="#890" id="890">890</a>
+<a href="#891" id="891">891</a>
+<a href="#892" id="892">892</a>
+<a href="#893" id="893">893</a>
+<a href="#894" id="894">894</a>
+<a href="#895" id="895">895</a>
+<a href="#896" id="896">896</a>
+<a href="#897" id="897">897</a>
+<a href="#898" id="898">898</a>
+<a href="#899" id="899">899</a>
+<a href="#900" id="900">900</a>
+<a href="#901" id="901">901</a>
+<a href="#902" id="902">902</a>
+<a href="#903" id="903">903</a>
+<a href="#904" id="904">904</a>
+<a href="#905" id="905">905</a>
+<a href="#906" id="906">906</a>
+<a href="#907" id="907">907</a>
+<a href="#908" id="908">908</a>
+<a href="#909" id="909">909</a>
+<a href="#910" id="910">910</a>
+<a href="#911" id="911">911</a>
+<a href="#912" id="912">912</a>
+<a href="#913" id="913">913</a>
+<a href="#914" id="914">914</a>
+<a href="#915" id="915">915</a>
+<a href="#916" id="916">916</a>
+<a href="#917" id="917">917</a>
+<a href="#918" id="918">918</a>
+<a href="#919" id="919">919</a>
+<a href="#920" id="920">920</a>
+<a href="#921" id="921">921</a>
+<a href="#922" id="922">922</a>
+<a href="#923" id="923">923</a>
+<a href="#924" id="924">924</a>
+<a href="#925" id="925">925</a>
+<a href="#926" id="926">926</a>
+<a href="#927" id="927">927</a>
+<a href="#928" id="928">928</a>
+<a href="#929" id="929">929</a>
+<a href="#930" id="930">930</a>
+<a href="#931" id="931">931</a>
+<a href="#932" id="932">932</a>
+<a href="#933" id="933">933</a>
+<a href="#934" id="934">934</a>
+<a href="#935" id="935">935</a>
+<a href="#936" id="936">936</a>
+<a href="#937" id="937">937</a>
+<a href="#938" id="938">938</a>
+<a href="#939" id="939">939</a>
+<a href="#940" id="940">940</a>
+<a href="#941" id="941">941</a>
+<a href="#942" id="942">942</a>
+<a href="#943" id="943">943</a>
+<a href="#944" id="944">944</a>
+<a href="#945" id="945">945</a>
+<a href="#946" id="946">946</a>
+<a href="#947" id="947">947</a>
+<a href="#948" id="948">948</a>
+<a href="#949" id="949">949</a>
+<a href="#950" id="950">950</a>
+<a href="#951" id="951">951</a>
+<a href="#952" id="952">952</a>
+<a href="#953" id="953">953</a>
+<a href="#954" id="954">954</a>
+<a href="#955" id="955">955</a>
+<a href="#956" id="956">956</a>
+<a href="#957" id="957">957</a>
+<a href="#958" id="958">958</a>
+<a href="#959" id="959">959</a>
+<a href="#960" id="960">960</a>
+<a href="#961" id="961">961</a>
+<a href="#962" id="962">962</a>
+<a href="#963" id="963">963</a>
+<a href="#964" id="964">964</a>
+<a href="#965" id="965">965</a>
+<a href="#966" id="966">966</a>
+<a href="#967" id="967">967</a>
+<a href="#968" id="968">968</a>
+<a href="#969" id="969">969</a>
+<a href="#970" id="970">970</a>
+<a href="#971" id="971">971</a>
+<a href="#972" id="972">972</a>
+<a href="#973" id="973">973</a>
+<a href="#974" id="974">974</a>
+<a href="#975" id="975">975</a>
+<a href="#976" id="976">976</a>
+<a href="#977" id="977">977</a>
+<a href="#978" id="978">978</a>
+<a href="#979" id="979">979</a>
+<a href="#980" id="980">980</a>
+<a href="#981" id="981">981</a>
+<a href="#982" id="982">982</a>
+<a href="#983" id="983">983</a>
+<a href="#984" id="984">984</a>
+<a href="#985" id="985">985</a>
+<a href="#986" id="986">986</a>
+<a href="#987" id="987">987</a>
+<a href="#988" id="988">988</a>
+<a href="#989" id="989">989</a>
+<a href="#990" id="990">990</a>
+<a href="#991" id="991">991</a>
+<a href="#992" id="992">992</a>
+<a href="#993" id="993">993</a>
+<a href="#994" id="994">994</a>
+<a href="#995" id="995">995</a>
+<a href="#996" id="996">996</a>
+<a href="#997" id="997">997</a>
+<a href="#998" id="998">998</a>
+<a href="#999" id="999">999</a>
+<a href="#1000" id="1000">1000</a>
+<a href="#1001" id="1001">1001</a>
+<a href="#1002" id="1002">1002</a>
+<a href="#1003" id="1003">1003</a>
+<a href="#1004" id="1004">1004</a>
+<a href="#1005" id="1005">1005</a>
+<a href="#1006" id="1006">1006</a>
+<a href="#1007" id="1007">1007</a>
+<a href="#1008" id="1008">1008</a>
+<a href="#1009" id="1009">1009</a>
+<a href="#1010" id="1010">1010</a>
+<a href="#1011" id="1011">1011</a>
+<a href="#1012" id="1012">1012</a>
+<a href="#1013" id="1013">1013</a>
+<a href="#1014" id="1014">1014</a>
+<a href="#1015" id="1015">1015</a>
+<a href="#1016" id="1016">1016</a>
+<a href="#1017" id="1017">1017</a>
+<a href="#1018" id="1018">1018</a>
+<a href="#1019" id="1019">1019</a>
+<a href="#1020" id="1020">1020</a>
+<a href="#1021" id="1021">1021</a>
+<a href="#1022" id="1022">1022</a>
+<a href="#1023" id="1023">1023</a>
+<a href="#1024" id="1024">1024</a>
+<a href="#1025" id="1025">1025</a>
+<a href="#1026" id="1026">1026</a>
+<a href="#1027" id="1027">1027</a>
+<a href="#1028" id="1028">1028</a>
+<a href="#1029" id="1029">1029</a>
+<a href="#1030" id="1030">1030</a>
+<a href="#1031" id="1031">1031</a>
+<a href="#1032" id="1032">1032</a>
+<a href="#1033" id="1033">1033</a>
+<a href="#1034" id="1034">1034</a>
+<a href="#1035" id="1035">1035</a>
+<a href="#1036" id="1036">1036</a>
+<a href="#1037" id="1037">1037</a>
+<a href="#1038" id="1038">1038</a>
+<a href="#1039" id="1039">1039</a>
+<a href="#1040" id="1040">1040</a>
+<a href="#1041" id="1041">1041</a>
+<a href="#1042" id="1042">1042</a>
+<a href="#1043" id="1043">1043</a>
+<a href="#1044" id="1044">1044</a>
+<a href="#1045" id="1045">1045</a>
+<a href="#1046" id="1046">1046</a>
+<a href="#1047" id="1047">1047</a>
+<a href="#1048" id="1048">1048</a>
+<a href="#1049" id="1049">1049</a>
+<a href="#1050" id="1050">1050</a>
+<a href="#1051" id="1051">1051</a>
+<a href="#1052" id="1052">1052</a>
+<a href="#1053" id="1053">1053</a>
+<a href="#1054" id="1054">1054</a>
+<a href="#1055" id="1055">1055</a>
+<a href="#1056" id="1056">1056</a>
+<a href="#1057" id="1057">1057</a>
+<a href="#1058" id="1058">1058</a>
+<a href="#1059" id="1059">1059</a>
+<a href="#1060" id="1060">1060</a>
+<a href="#1061" id="1061">1061</a>
+<a href="#1062" id="1062">1062</a>
+<a href="#1063" id="1063">1063</a>
+<a href="#1064" id="1064">1064</a>
+<a href="#1065" id="1065">1065</a>
+<a href="#1066" id="1066">1066</a>
+<a href="#1067" id="1067">1067</a>
+<a href="#1068" id="1068">1068</a>
+<a href="#1069" id="1069">1069</a>
+<a href="#1070" id="1070">1070</a>
+<a href="#1071" id="1071">1071</a>
+<a href="#1072" id="1072">1072</a>
+<a href="#1073" id="1073">1073</a>
+<a href="#1074" id="1074">1074</a>
+<a href="#1075" id="1075">1075</a>
+<a href="#1076" id="1076">1076</a>
+<a href="#1077" id="1077">1077</a>
+<a href="#1078" id="1078">1078</a>
+<a href="#1079" id="1079">1079</a>
+<a href="#1080" id="1080">1080</a>
+<a href="#1081" id="1081">1081</a>
+<a href="#1082" id="1082">1082</a>
+<a href="#1083" id="1083">1083</a>
+<a href="#1084" id="1084">1084</a>
+<a href="#1085" id="1085">1085</a>
+<a href="#1086" id="1086">1086</a>
+<a href="#1087" id="1087">1087</a>
+<a href="#1088" id="1088">1088</a>
+<a href="#1089" id="1089">1089</a>
+<a href="#1090" id="1090">1090</a>
+<a href="#1091" id="1091">1091</a>
+<a href="#1092" id="1092">1092</a>
+<a href="#1093" id="1093">1093</a>
+<a href="#1094" id="1094">1094</a>
+<a href="#1095" id="1095">1095</a>
+<a href="#1096" id="1096">1096</a>
+<a href="#1097" id="1097">1097</a>
+<a href="#1098" id="1098">1098</a>
+<a href="#1099" id="1099">1099</a>
+<a href="#1100" id="1100">1100</a>
+<a href="#1101" id="1101">1101</a>
+<a href="#1102" id="1102">1102</a>
+<a href="#1103" id="1103">1103</a>
+<a href="#1104" id="1104">1104</a>
+<a href="#1105" id="1105">1105</a>
+<a href="#1106" id="1106">1106</a>
+<a href="#1107" id="1107">1107</a>
+<a href="#1108" id="1108">1108</a>
+<a href="#1109" id="1109">1109</a>
+<a href="#1110" id="1110">1110</a>
+<a href="#1111" id="1111">1111</a>
+<a href="#1112" id="1112">1112</a>
+<a href="#1113" id="1113">1113</a>
+<a href="#1114" id="1114">1114</a>
+<a href="#1115" id="1115">1115</a>
+<a href="#1116" id="1116">1116</a>
+<a href="#1117" id="1117">1117</a>
+<a href="#1118" id="1118">1118</a>
+<a href="#1119" id="1119">1119</a>
+<a href="#1120" id="1120">1120</a>
+<a href="#1121" id="1121">1121</a>
+<a href="#1122" id="1122">1122</a>
+<a href="#1123" id="1123">1123</a>
+<a href="#1124" id="1124">1124</a>
+<a href="#1125" id="1125">1125</a>
+<a href="#1126" id="1126">1126</a>
+<a href="#1127" id="1127">1127</a>
+<a href="#1128" id="1128">1128</a>
+<a href="#1129" id="1129">1129</a>
+<a href="#1130" id="1130">1130</a>
+<a href="#1131" id="1131">1131</a>
+<a href="#1132" id="1132">1132</a>
+<a href="#1133" id="1133">1133</a>
+<a href="#1134" id="1134">1134</a>
+<a href="#1135" id="1135">1135</a>
+<a href="#1136" id="1136">1136</a>
+<a href="#1137" id="1137">1137</a>
+<a href="#1138" id="1138">1138</a>
+<a href="#1139" id="1139">1139</a>
+<a href="#1140" id="1140">1140</a>
+<a href="#1141" id="1141">1141</a>
+<a href="#1142" id="1142">1142</a>
+<a href="#1143" id="1143">1143</a>
+<a href="#1144" id="1144">1144</a>
+<a href="#1145" id="1145">1145</a>
+<a href="#1146" id="1146">1146</a>
+<a href="#1147" id="1147">1147</a>
+<a href="#1148" id="1148">1148</a>
+<a href="#1149" id="1149">1149</a>
+<a href="#1150" id="1150">1150</a>
+<a href="#1151" id="1151">1151</a>
+<a href="#1152" id="1152">1152</a>
+<a href="#1153" id="1153">1153</a>
+<a href="#1154" id="1154">1154</a>
+<a href="#1155" id="1155">1155</a>
+<a href="#1156" id="1156">1156</a>
+<a href="#1157" id="1157">1157</a>
+<a href="#1158" id="1158">1158</a>
+<a href="#1159" id="1159">1159</a>
+<a href="#1160" id="1160">1160</a>
+<a href="#1161" id="1161">1161</a>
+<a href="#1162" id="1162">1162</a>
+<a href="#1163" id="1163">1163</a>
+<a href="#1164" id="1164">1164</a>
+<a href="#1165" id="1165">1165</a>
+<a href="#1166" id="1166">1166</a>
+<a href="#1167" id="1167">1167</a>
+<a href="#1168" id="1168">1168</a>
+<a href="#1169" id="1169">1169</a>
+<a href="#1170" id="1170">1170</a>
+<a href="#1171" id="1171">1171</a>
+<a href="#1172" id="1172">1172</a>
+<a href="#1173" id="1173">1173</a>
+<a href="#1174" id="1174">1174</a>
+<a href="#1175" id="1175">1175</a>
+<a href="#1176" id="1176">1176</a>
+<a href="#1177" id="1177">1177</a>
+<a href="#1178" id="1178">1178</a>
+<a href="#1179" id="1179">1179</a>
+<a href="#1180" id="1180">1180</a>
+<a href="#1181" id="1181">1181</a>
+<a href="#1182" id="1182">1182</a>
+<a href="#1183" id="1183">1183</a>
+<a href="#1184" id="1184">1184</a>
+<a href="#1185" id="1185">1185</a>
+<a href="#1186" id="1186">1186</a>
+<a href="#1187" id="1187">1187</a>
+<a href="#1188" id="1188">1188</a>
+<a href="#1189" id="1189">1189</a>
+<a href="#1190" id="1190">1190</a>
+<a href="#1191" id="1191">1191</a>
+<a href="#1192" id="1192">1192</a>
+<a href="#1193" id="1193">1193</a>
+<a href="#1194" id="1194">1194</a>
+<a href="#1195" id="1195">1195</a>
+<a href="#1196" id="1196">1196</a>
+<a href="#1197" id="1197">1197</a>
+<a href="#1198" id="1198">1198</a>
+<a href="#1199" id="1199">1199</a>
+<a href="#1200" id="1200">1200</a>
+<a href="#1201" id="1201">1201</a>
+<a href="#1202" id="1202">1202</a>
+<a href="#1203" id="1203">1203</a>
+<a href="#1204" id="1204">1204</a>
+<a href="#1205" id="1205">1205</a>
+<a href="#1206" id="1206">1206</a>
+<a href="#1207" id="1207">1207</a>
+<a href="#1208" id="1208">1208</a>
+<a href="#1209" id="1209">1209</a>
+<a href="#1210" id="1210">1210</a>
+<a href="#1211" id="1211">1211</a>
+<a href="#1212" id="1212">1212</a>
+<a href="#1213" id="1213">1213</a>
+<a href="#1214" id="1214">1214</a>
+<a href="#1215" id="1215">1215</a>
+<a href="#1216" id="1216">1216</a>
+<a href="#1217" id="1217">1217</a>
+<a href="#1218" id="1218">1218</a>
+<a href="#1219" id="1219">1219</a>
+<a href="#1220" id="1220">1220</a>
+<a href="#1221" id="1221">1221</a>
+<a href="#1222" id="1222">1222</a>
+<a href="#1223" id="1223">1223</a>
+<a href="#1224" id="1224">1224</a>
+<a href="#1225" id="1225">1225</a>
+<a href="#1226" id="1226">1226</a>
+<a href="#1227" id="1227">1227</a>
+<a href="#1228" id="1228">1228</a>
+<a href="#1229" id="1229">1229</a>
+<a href="#1230" id="1230">1230</a>
+<a href="#1231" id="1231">1231</a>
+<a href="#1232" id="1232">1232</a>
+<a href="#1233" id="1233">1233</a>
+<a href="#1234" id="1234">1234</a>
+<a href="#1235" id="1235">1235</a>
+<a href="#1236" id="1236">1236</a>
+<a href="#1237" id="1237">1237</a>
+<a href="#1238" id="1238">1238</a>
+<a href="#1239" id="1239">1239</a>
+<a href="#1240" id="1240">1240</a>
+<a href="#1241" id="1241">1241</a>
+<a href="#1242" id="1242">1242</a>
+<a href="#1243" id="1243">1243</a>
+<a href="#1244" id="1244">1244</a>
+<a href="#1245" id="1245">1245</a>
+<a href="#1246" id="1246">1246</a>
+<a href="#1247" id="1247">1247</a>
+<a href="#1248" id="1248">1248</a>
+<a href="#1249" id="1249">1249</a>
+<a href="#1250" id="1250">1250</a>
+<a href="#1251" id="1251">1251</a>
+<a href="#1252" id="1252">1252</a>
+<a href="#1253" id="1253">1253</a>
+<a href="#1254" id="1254">1254</a>
+<a href="#1255" id="1255">1255</a>
+<a href="#1256" id="1256">1256</a>
+<a href="#1257" id="1257">1257</a>
+<a href="#1258" id="1258">1258</a>
+<a href="#1259" id="1259">1259</a>
+<a href="#1260" id="1260">1260</a>
+<a href="#1261" id="1261">1261</a>
+<a href="#1262" id="1262">1262</a>
+<a href="#1263" id="1263">1263</a>
+<a href="#1264" id="1264">1264</a>
+<a href="#1265" id="1265">1265</a>
+<a href="#1266" id="1266">1266</a>
+<a href="#1267" id="1267">1267</a>
+<a href="#1268" id="1268">1268</a>
+<a href="#1269" id="1269">1269</a>
+<a href="#1270" id="1270">1270</a>
+<a href="#1271" id="1271">1271</a>
+<a href="#1272" id="1272">1272</a>
+<a href="#1273" id="1273">1273</a>
+<a href="#1274" id="1274">1274</a>
+<a href="#1275" id="1275">1275</a>
+<a href="#1276" id="1276">1276</a>
+<a href="#1277" id="1277">1277</a>
+<a href="#1278" id="1278">1278</a>
+<a href="#1279" id="1279">1279</a>
+<a href="#1280" id="1280">1280</a>
+<a href="#1281" id="1281">1281</a>
+<a href="#1282" id="1282">1282</a>
+<a href="#1283" id="1283">1283</a>
+<a href="#1284" id="1284">1284</a>
+<a href="#1285" id="1285">1285</a>
+<a href="#1286" id="1286">1286</a>
+<a href="#1287" id="1287">1287</a>
+<a href="#1288" id="1288">1288</a>
+<a href="#1289" id="1289">1289</a>
+<a href="#1290" id="1290">1290</a>
+<a href="#1291" id="1291">1291</a>
+<a href="#1292" id="1292">1292</a>
+<a href="#1293" id="1293">1293</a>
+<a href="#1294" id="1294">1294</a>
+<a href="#1295" id="1295">1295</a>
+<a href="#1296" id="1296">1296</a>
+<a href="#1297" id="1297">1297</a>
+<a href="#1298" id="1298">1298</a>
+<a href="#1299" id="1299">1299</a>
+<a href="#1300" id="1300">1300</a>
+<a href="#1301" id="1301">1301</a>
+<a href="#1302" id="1302">1302</a>
+<a href="#1303" id="1303">1303</a>
+<a href="#1304" id="1304">1304</a>
+<a href="#1305" id="1305">1305</a>
+<a href="#1306" id="1306">1306</a>
+<a href="#1307" id="1307">1307</a>
+<a href="#1308" id="1308">1308</a>
+<a href="#1309" id="1309">1309</a>
+<a href="#1310" id="1310">1310</a>
+<a href="#1311" id="1311">1311</a>
+<a href="#1312" id="1312">1312</a>
+<a href="#1313" id="1313">1313</a>
+<a href="#1314" id="1314">1314</a>
+<a href="#1315" id="1315">1315</a>
+<a href="#1316" id="1316">1316</a>
+<a href="#1317" id="1317">1317</a>
+<a href="#1318" id="1318">1318</a>
+<a href="#1319" id="1319">1319</a>
+<a href="#1320" id="1320">1320</a>
+<a href="#1321" id="1321">1321</a>
+<a href="#1322" id="1322">1322</a>
+<a href="#1323" id="1323">1323</a>
+<a href="#1324" id="1324">1324</a>
+<a href="#1325" id="1325">1325</a>
+<a href="#1326" id="1326">1326</a>
+<a href="#1327" id="1327">1327</a>
+<a href="#1328" id="1328">1328</a>
+<a href="#1329" id="1329">1329</a>
+<a href="#1330" id="1330">1330</a>
+<a href="#1331" id="1331">1331</a>
+<a href="#1332" id="1332">1332</a>
+<a href="#1333" id="1333">1333</a>
+<a href="#1334" id="1334">1334</a>
+<a href="#1335" id="1335">1335</a>
+<a href="#1336" id="1336">1336</a>
+<a href="#1337" id="1337">1337</a>
+<a href="#1338" id="1338">1338</a>
+<a href="#1339" id="1339">1339</a>
+<a href="#1340" id="1340">1340</a>
+<a href="#1341" id="1341">1341</a>
+<a href="#1342" id="1342">1342</a>
+<a href="#1343" id="1343">1343</a>
+<a href="#1344" id="1344">1344</a>
+<a href="#1345" id="1345">1345</a>
+<a href="#1346" id="1346">1346</a>
+<a href="#1347" id="1347">1347</a>
+<a href="#1348" id="1348">1348</a>
+<a href="#1349" id="1349">1349</a>
+<a href="#1350" id="1350">1350</a>
+<a href="#1351" id="1351">1351</a>
+<a href="#1352" id="1352">1352</a>
+<a href="#1353" id="1353">1353</a>
+<a href="#1354" id="1354">1354</a>
+<a href="#1355" id="1355">1355</a>
+<a href="#1356" id="1356">1356</a>
+<a href="#1357" id="1357">1357</a>
+<a href="#1358" id="1358">1358</a>
+<a href="#1359" id="1359">1359</a>
+<a href="#1360" id="1360">1360</a>
+<a href="#1361" id="1361">1361</a>
+<a href="#1362" id="1362">1362</a>
+<a href="#1363" id="1363">1363</a>
+<a href="#1364" id="1364">1364</a>
+<a href="#1365" id="1365">1365</a>
+<a href="#1366" id="1366">1366</a>
+<a href="#1367" id="1367">1367</a>
+<a href="#1368" id="1368">1368</a>
+<a href="#1369" id="1369">1369</a>
+<a href="#1370" id="1370">1370</a>
+<a href="#1371" id="1371">1371</a>
+<a href="#1372" id="1372">1372</a>
+<a href="#1373" id="1373">1373</a>
+<a href="#1374" id="1374">1374</a>
+<a href="#1375" id="1375">1375</a>
+<a href="#1376" id="1376">1376</a>
+<a href="#1377" id="1377">1377</a>
+<a href="#1378" id="1378">1378</a>
+<a href="#1379" id="1379">1379</a>
+<a href="#1380" id="1380">1380</a>
+<a href="#1381" id="1381">1381</a>
+<a href="#1382" id="1382">1382</a>
+<a href="#1383" id="1383">1383</a>
+<a href="#1384" id="1384">1384</a>
+<a href="#1385" id="1385">1385</a>
+<a href="#1386" id="1386">1386</a>
+<a href="#1387" id="1387">1387</a>
+<a href="#1388" id="1388">1388</a>
+<a href="#1389" id="1389">1389</a>
+<a href="#1390" id="1390">1390</a>
+<a href="#1391" id="1391">1391</a>
+<a href="#1392" id="1392">1392</a>
+<a href="#1393" id="1393">1393</a>
+<a href="#1394" id="1394">1394</a>
+<a href="#1395" id="1395">1395</a>
+<a href="#1396" id="1396">1396</a>
+<a href="#1397" id="1397">1397</a>
+<a href="#1398" id="1398">1398</a>
+<a href="#1399" id="1399">1399</a>
+<a href="#1400" id="1400">1400</a>
+<a href="#1401" id="1401">1401</a>
+<a href="#1402" id="1402">1402</a>
+<a href="#1403" id="1403">1403</a>
+<a href="#1404" id="1404">1404</a>
+<a href="#1405" id="1405">1405</a>
+<a href="#1406" id="1406">1406</a>
+<a href="#1407" id="1407">1407</a>
+<a href="#1408" id="1408">1408</a>
+<a href="#1409" id="1409">1409</a>
+<a href="#1410" id="1410">1410</a>
+<a href="#1411" id="1411">1411</a>
+<a href="#1412" id="1412">1412</a>
+<a href="#1413" id="1413">1413</a>
+<a href="#1414" id="1414">1414</a>
+<a href="#1415" id="1415">1415</a>
+<a href="#1416" id="1416">1416</a>
+<a href="#1417" id="1417">1417</a>
+<a href="#1418" id="1418">1418</a>
+<a href="#1419" id="1419">1419</a>
+<a href="#1420" id="1420">1420</a>
+<a href="#1421" id="1421">1421</a>
+<a href="#1422" id="1422">1422</a>
+<a href="#1423" id="1423">1423</a>
+<a href="#1424" id="1424">1424</a>
+<a href="#1425" id="1425">1425</a>
+<a href="#1426" id="1426">1426</a>
+<a href="#1427" id="1427">1427</a>
+<a href="#1428" id="1428">1428</a>
+<a href="#1429" id="1429">1429</a>
+<a href="#1430" id="1430">1430</a>
+<a href="#1431" id="1431">1431</a>
+<a href="#1432" id="1432">1432</a>
+<a href="#1433" id="1433">1433</a>
+<a href="#1434" id="1434">1434</a>
+<a href="#1435" id="1435">1435</a>
+<a href="#1436" id="1436">1436</a>
+<a href="#1437" id="1437">1437</a>
+<a href="#1438" id="1438">1438</a>
+<a href="#1439" id="1439">1439</a>
+<a href="#1440" id="1440">1440</a>
+<a href="#1441" id="1441">1441</a>
+<a href="#1442" id="1442">1442</a>
+<a href="#1443" id="1443">1443</a>
+<a href="#1444" id="1444">1444</a>
+<a href="#1445" id="1445">1445</a>
+<a href="#1446" id="1446">1446</a>
+<a href="#1447" id="1447">1447</a>
+<a href="#1448" id="1448">1448</a>
+<a href="#1449" id="1449">1449</a>
+<a href="#1450" id="1450">1450</a>
+<a href="#1451" id="1451">1451</a>
+<a href="#1452" id="1452">1452</a>
+<a href="#1453" id="1453">1453</a>
+<a href="#1454" id="1454">1454</a>
+<a href="#1455" id="1455">1455</a>
+<a href="#1456" id="1456">1456</a>
+<a href="#1457" id="1457">1457</a>
+<a href="#1458" id="1458">1458</a>
+<a href="#1459" id="1459">1459</a>
+<a href="#1460" id="1460">1460</a>
+<a href="#1461" id="1461">1461</a>
+<a href="#1462" id="1462">1462</a>
+<a href="#1463" id="1463">1463</a>
+<a href="#1464" id="1464">1464</a>
+<a href="#1465" id="1465">1465</a>
+<a href="#1466" id="1466">1466</a>
+<a href="#1467" id="1467">1467</a>
+<a href="#1468" id="1468">1468</a>
+<a href="#1469" id="1469">1469</a>
+<a href="#1470" id="1470">1470</a>
+<a href="#1471" id="1471">1471</a>
+<a href="#1472" id="1472">1472</a>
+<a href="#1473" id="1473">1473</a>
+<a href="#1474" id="1474">1474</a>
+<a href="#1475" id="1475">1475</a>
+<a href="#1476" id="1476">1476</a>
+<a href="#1477" id="1477">1477</a>
+<a href="#1478" id="1478">1478</a>
+<a href="#1479" id="1479">1479</a>
+<a href="#1480" id="1480">1480</a>
+<a href="#1481" id="1481">1481</a>
+<a href="#1482" id="1482">1482</a>
+<a href="#1483" id="1483">1483</a>
+<a href="#1484" id="1484">1484</a>
+<a href="#1485" id="1485">1485</a>
+<a href="#1486" id="1486">1486</a>
+<a href="#1487" id="1487">1487</a>
+<a href="#1488" id="1488">1488</a>
+<a href="#1489" id="1489">1489</a>
+<a href="#1490" id="1490">1490</a>
+<a href="#1491" id="1491">1491</a>
+<a href="#1492" id="1492">1492</a>
+<a href="#1493" id="1493">1493</a>
+<a href="#1494" id="1494">1494</a>
+<a href="#1495" id="1495">1495</a>
+<a href="#1496" id="1496">1496</a>
+<a href="#1497" id="1497">1497</a>
+<a href="#1498" id="1498">1498</a>
+<a href="#1499" id="1499">1499</a>
+<a href="#1500" id="1500">1500</a>
+<a href="#1501" id="1501">1501</a>
+<a href="#1502" id="1502">1502</a>
+<a href="#1503" id="1503">1503</a>
+<a href="#1504" id="1504">1504</a>
+<a href="#1505" id="1505">1505</a>
+<a href="#1506" id="1506">1506</a>
+<a href="#1507" id="1507">1507</a>
+<a href="#1508" id="1508">1508</a>
+<a href="#1509" id="1509">1509</a>
+<a href="#1510" id="1510">1510</a>
+<a href="#1511" id="1511">1511</a>
+<a href="#1512" id="1512">1512</a>
+<a href="#1513" id="1513">1513</a>
+<a href="#1514" id="1514">1514</a>
+<a href="#1515" id="1515">1515</a>
+<a href="#1516" id="1516">1516</a>
+<a href="#1517" id="1517">1517</a>
+<a href="#1518" id="1518">1518</a>
+<a href="#1519" id="1519">1519</a>
+<a href="#1520" id="1520">1520</a>
+<a href="#1521" id="1521">1521</a>
+<a href="#1522" id="1522">1522</a>
+<a href="#1523" id="1523">1523</a>
+<a href="#1524" id="1524">1524</a>
+<a href="#1525" id="1525">1525</a>
+<a href="#1526" id="1526">1526</a>
+<a href="#1527" id="1527">1527</a>
+<a href="#1528" id="1528">1528</a>
+<a href="#1529" id="1529">1529</a>
+<a href="#1530" id="1530">1530</a>
+<a href="#1531" id="1531">1531</a>
+<a href="#1532" id="1532">1532</a>
+<a href="#1533" id="1533">1533</a>
+<a href="#1534" id="1534">1534</a>
+<a href="#1535" id="1535">1535</a>
+<a href="#1536" id="1536">1536</a>
+<a href="#1537" id="1537">1537</a>
+<a href="#1538" id="1538">1538</a>
+<a href="#1539" id="1539">1539</a>
+<a href="#1540" id="1540">1540</a>
+<a href="#1541" id="1541">1541</a>
+<a href="#1542" id="1542">1542</a>
+<a href="#1543" id="1543">1543</a>
+<a href="#1544" id="1544">1544</a>
+<a href="#1545" id="1545">1545</a>
+<a href="#1546" id="1546">1546</a>
+<a href="#1547" id="1547">1547</a>
+<a href="#1548" id="1548">1548</a>
+<a href="#1549" id="1549">1549</a>
+<a href="#1550" id="1550">1550</a>
+<a href="#1551" id="1551">1551</a>
+<a href="#1552" id="1552">1552</a>
+<a href="#1553" id="1553">1553</a>
+<a href="#1554" id="1554">1554</a>
+<a href="#1555" id="1555">1555</a>
+<a href="#1556" id="1556">1556</a>
+<a href="#1557" id="1557">1557</a>
+<a href="#1558" id="1558">1558</a>
+<a href="#1559" id="1559">1559</a>
+<a href="#1560" id="1560">1560</a>
+<a href="#1561" id="1561">1561</a>
+<a href="#1562" id="1562">1562</a>
+<a href="#1563" id="1563">1563</a>
+<a href="#1564" id="1564">1564</a>
+<a href="#1565" id="1565">1565</a>
+<a href="#1566" id="1566">1566</a>
+<a href="#1567" id="1567">1567</a>
+<a href="#1568" id="1568">1568</a>
+<a href="#1569" id="1569">1569</a>
+<a href="#1570" id="1570">1570</a>
+<a href="#1571" id="1571">1571</a>
+<a href="#1572" id="1572">1572</a>
+<a href="#1573" id="1573">1573</a>
+<a href="#1574" id="1574">1574</a>
+<a href="#1575" id="1575">1575</a>
+<a href="#1576" id="1576">1576</a>
+<a href="#1577" id="1577">1577</a>
+<a href="#1578" id="1578">1578</a>
+<a href="#1579" id="1579">1579</a>
+<a href="#1580" id="1580">1580</a>
+<a href="#1581" id="1581">1581</a>
+<a href="#1582" id="1582">1582</a>
+<a href="#1583" id="1583">1583</a>
+<a href="#1584" id="1584">1584</a>
+<a href="#1585" id="1585">1585</a>
+<a href="#1586" id="1586">1586</a>
+<a href="#1587" id="1587">1587</a>
+<a href="#1588" id="1588">1588</a>
+<a href="#1589" id="1589">1589</a>
+<a href="#1590" id="1590">1590</a>
+<a href="#1591" id="1591">1591</a>
+<a href="#1592" id="1592">1592</a>
+<a href="#1593" id="1593">1593</a>
+<a href="#1594" id="1594">1594</a>
+<a href="#1595" id="1595">1595</a>
+<a href="#1596" id="1596">1596</a>
+<a href="#1597" id="1597">1597</a>
+<a href="#1598" id="1598">1598</a>
+<a href="#1599" id="1599">1599</a>
+<a href="#1600" id="1600">1600</a>
+<a href="#1601" id="1601">1601</a>
+<a href="#1602" id="1602">1602</a>
+<a href="#1603" id="1603">1603</a>
+<a href="#1604" id="1604">1604</a>
+<a href="#1605" id="1605">1605</a>
+<a href="#1606" id="1606">1606</a>
+<a href="#1607" id="1607">1607</a>
+<a href="#1608" id="1608">1608</a>
+<a href="#1609" id="1609">1609</a>
+<a href="#1610" id="1610">1610</a>
+<a href="#1611" id="1611">1611</a>
+<a href="#1612" id="1612">1612</a>
+<a href="#1613" id="1613">1613</a>
+<a href="#1614" id="1614">1614</a>
+<a href="#1615" id="1615">1615</a>
+<a href="#1616" id="1616">1616</a>
+<a href="#1617" id="1617">1617</a>
+<a href="#1618" id="1618">1618</a>
+<a href="#1619" id="1619">1619</a>
+<a href="#1620" id="1620">1620</a>
+<a href="#1621" id="1621">1621</a>
+<a href="#1622" id="1622">1622</a>
+<a href="#1623" id="1623">1623</a>
+<a href="#1624" id="1624">1624</a>
+<a href="#1625" id="1625">1625</a>
+<a href="#1626" id="1626">1626</a>
+<a href="#1627" id="1627">1627</a>
+<a href="#1628" id="1628">1628</a>
+<a href="#1629" id="1629">1629</a>
+<a href="#1630" id="1630">1630</a>
+<a href="#1631" id="1631">1631</a>
+<a href="#1632" id="1632">1632</a>
+<a href="#1633" id="1633">1633</a>
+<a href="#1634" id="1634">1634</a>
+<a href="#1635" id="1635">1635</a>
+<a href="#1636" id="1636">1636</a>
+<a href="#1637" id="1637">1637</a>
+<a href="#1638" id="1638">1638</a>
+<a href="#1639" id="1639">1639</a>
+<a href="#1640" id="1640">1640</a>
+<a href="#1641" id="1641">1641</a>
+<a href="#1642" id="1642">1642</a>
+<a href="#1643" id="1643">1643</a>
+<a href="#1644" id="1644">1644</a>
+<a href="#1645" id="1645">1645</a>
+<a href="#1646" id="1646">1646</a>
+<a href="#1647" id="1647">1647</a>
+<a href="#1648" id="1648">1648</a>
+<a href="#1649" id="1649">1649</a>
+<a href="#1650" id="1650">1650</a>
+<a href="#1651" id="1651">1651</a>
+<a href="#1652" id="1652">1652</a>
+<a href="#1653" id="1653">1653</a>
+<a href="#1654" id="1654">1654</a>
+<a href="#1655" id="1655">1655</a>
+<a href="#1656" id="1656">1656</a>
+<a href="#1657" id="1657">1657</a>
+<a href="#1658" id="1658">1658</a>
+<a href="#1659" id="1659">1659</a>
+<a href="#1660" id="1660">1660</a>
+<a href="#1661" id="1661">1661</a>
+<a href="#1662" id="1662">1662</a>
+<a href="#1663" id="1663">1663</a>
+<a href="#1664" id="1664">1664</a>
+<a href="#1665" id="1665">1665</a>
+<a href="#1666" id="1666">1666</a>
+<a href="#1667" id="1667">1667</a>
+<a href="#1668" id="1668">1668</a>
+<a href="#1669" id="1669">1669</a>
+<a href="#1670" id="1670">1670</a>
+<a href="#1671" id="1671">1671</a>
+<a href="#1672" id="1672">1672</a>
+<a href="#1673" id="1673">1673</a>
+<a href="#1674" id="1674">1674</a>
+<a href="#1675" id="1675">1675</a>
+<a href="#1676" id="1676">1676</a>
+<a href="#1677" id="1677">1677</a>
+<a href="#1678" id="1678">1678</a>
+<a href="#1679" id="1679">1679</a>
+<a href="#1680" id="1680">1680</a>
+<a href="#1681" id="1681">1681</a>
+<a href="#1682" id="1682">1682</a>
+<a href="#1683" id="1683">1683</a>
+<a href="#1684" id="1684">1684</a>
+<a href="#1685" id="1685">1685</a>
+<a href="#1686" id="1686">1686</a>
+<a href="#1687" id="1687">1687</a>
+<a href="#1688" id="1688">1688</a>
+<a href="#1689" id="1689">1689</a>
+<a href="#1690" id="1690">1690</a>
+<a href="#1691" id="1691">1691</a>
+<a href="#1692" id="1692">1692</a>
+<a href="#1693" id="1693">1693</a>
+<a href="#1694" id="1694">1694</a>
+<a href="#1695" id="1695">1695</a>
+<a href="#1696" id="1696">1696</a>
+<a href="#1697" id="1697">1697</a>
+<a href="#1698" id="1698">1698</a>
+<a href="#1699" id="1699">1699</a>
+<a href="#1700" id="1700">1700</a>
+<a href="#1701" id="1701">1701</a>
+<a href="#1702" id="1702">1702</a>
+<a href="#1703" id="1703">1703</a>
+<a href="#1704" id="1704">1704</a>
+<a href="#1705" id="1705">1705</a>
+<a href="#1706" id="1706">1706</a>
+<a href="#1707" id="1707">1707</a>
+<a href="#1708" id="1708">1708</a>
+<a href="#1709" id="1709">1709</a>
+<a href="#1710" id="1710">1710</a>
+<a href="#1711" id="1711">1711</a>
+<a href="#1712" id="1712">1712</a>
+<a href="#1713" id="1713">1713</a>
+<a href="#1714" id="1714">1714</a>
+<a href="#1715" id="1715">1715</a>
+<a href="#1716" id="1716">1716</a>
+<a href="#1717" id="1717">1717</a>
+<a href="#1718" id="1718">1718</a>
+<a href="#1719" id="1719">1719</a>
+<a href="#1720" id="1720">1720</a>
+<a href="#1721" id="1721">1721</a>
+<a href="#1722" id="1722">1722</a>
+<a href="#1723" id="1723">1723</a>
+<a href="#1724" id="1724">1724</a>
+<a href="#1725" id="1725">1725</a>
+<a href="#1726" id="1726">1726</a>
+<a href="#1727" id="1727">1727</a>
+<a href="#1728" id="1728">1728</a>
+<a href="#1729" id="1729">1729</a>
+<a href="#1730" id="1730">1730</a>
+<a href="#1731" id="1731">1731</a>
+<a href="#1732" id="1732">1732</a>
+<a href="#1733" id="1733">1733</a>
+<a href="#1734" id="1734">1734</a>
+<a href="#1735" id="1735">1735</a>
+<a href="#1736" id="1736">1736</a>
+<a href="#1737" id="1737">1737</a>
+<a href="#1738" id="1738">1738</a>
+<a href="#1739" id="1739">1739</a>
+<a href="#1740" id="1740">1740</a>
+<a href="#1741" id="1741">1741</a>
+<a href="#1742" id="1742">1742</a>
+<a href="#1743" id="1743">1743</a>
+<a href="#1744" id="1744">1744</a>
+<a href="#1745" id="1745">1745</a>
+<a href="#1746" id="1746">1746</a>
+<a href="#1747" id="1747">1747</a>
+<a href="#1748" id="1748">1748</a>
+<a href="#1749" id="1749">1749</a>
+<a href="#1750" id="1750">1750</a>
+<a href="#1751" id="1751">1751</a>
+<a href="#1752" id="1752">1752</a>
+<a href="#1753" id="1753">1753</a>
+<a href="#1754" id="1754">1754</a>
+<a href="#1755" id="1755">1755</a>
+<a href="#1756" id="1756">1756</a>
+<a href="#1757" id="1757">1757</a>
+<a href="#1758" id="1758">1758</a>
+<a href="#1759" id="1759">1759</a>
+<a href="#1760" id="1760">1760</a>
+<a href="#1761" id="1761">1761</a>
+<a href="#1762" id="1762">1762</a>
+<a href="#1763" id="1763">1763</a>
+<a href="#1764" id="1764">1764</a>
+<a href="#1765" id="1765">1765</a>
+<a href="#1766" id="1766">1766</a>
+<a href="#1767" id="1767">1767</a>
+<a href="#1768" id="1768">1768</a>
+<a href="#1769" id="1769">1769</a>
+<a href="#1770" id="1770">1770</a>
+<a href="#1771" id="1771">1771</a>
+<a href="#1772" id="1772">1772</a>
+<a href="#1773" id="1773">1773</a>
+<a href="#1774" id="1774">1774</a>
+<a href="#1775" id="1775">1775</a>
+<a href="#1776" id="1776">1776</a>
+<a href="#1777" id="1777">1777</a>
+<a href="#1778" id="1778">1778</a>
+<a href="#1779" id="1779">1779</a>
+<a href="#1780" id="1780">1780</a>
+<a href="#1781" id="1781">1781</a>
+<a href="#1782" id="1782">1782</a>
+<a href="#1783" id="1783">1783</a>
+<a href="#1784" id="1784">1784</a>
+<a href="#1785" id="1785">1785</a>
+<a href="#1786" id="1786">1786</a>
+<a href="#1787" id="1787">1787</a>
+<a href="#1788" id="1788">1788</a>
+<a href="#1789" id="1789">1789</a>
+<a href="#1790" id="1790">1790</a>
+<a href="#1791" id="1791">1791</a>
+<a href="#1792" id="1792">1792</a>
+<a href="#1793" id="1793">1793</a>
+<a href="#1794" id="1794">1794</a>
+<a href="#1795" id="1795">1795</a>
+<a href="#1796" id="1796">1796</a>
+<a href="#1797" id="1797">1797</a>
+<a href="#1798" id="1798">1798</a>
+<a href="#1799" id="1799">1799</a>
+<a href="#1800" id="1800">1800</a>
+<a href="#1801" id="1801">1801</a>
+<a href="#1802" id="1802">1802</a>
+<a href="#1803" id="1803">1803</a>
+<a href="#1804" id="1804">1804</a>
+<a href="#1805" id="1805">1805</a>
+<a href="#1806" id="1806">1806</a>
+<a href="#1807" id="1807">1807</a>
+<a href="#1808" id="1808">1808</a>
+<a href="#1809" id="1809">1809</a>
+<a href="#1810" id="1810">1810</a>
+<a href="#1811" id="1811">1811</a>
+<a href="#1812" id="1812">1812</a>
+<a href="#1813" id="1813">1813</a>
+<a href="#1814" id="1814">1814</a>
+<a href="#1815" id="1815">1815</a>
+<a href="#1816" id="1816">1816</a>
+<a href="#1817" id="1817">1817</a>
+<a href="#1818" id="1818">1818</a>
+<a href="#1819" id="1819">1819</a>
+<a href="#1820" id="1820">1820</a>
+<a href="#1821" id="1821">1821</a>
+<a href="#1822" id="1822">1822</a>
+<a href="#1823" id="1823">1823</a>
+<a href="#1824" id="1824">1824</a>
+<a href="#1825" id="1825">1825</a>
+<a href="#1826" id="1826">1826</a>
+<a href="#1827" id="1827">1827</a>
+<a href="#1828" id="1828">1828</a>
+<a href="#1829" id="1829">1829</a>
+<a href="#1830" id="1830">1830</a>
+<a href="#1831" id="1831">1831</a>
+<a href="#1832" id="1832">1832</a>
+<a href="#1833" id="1833">1833</a>
+<a href="#1834" id="1834">1834</a>
+<a href="#1835" id="1835">1835</a>
+<a href="#1836" id="1836">1836</a>
+<a href="#1837" id="1837">1837</a>
+<a href="#1838" id="1838">1838</a>
+<a href="#1839" id="1839">1839</a>
+<a href="#1840" id="1840">1840</a>
+<a href="#1841" id="1841">1841</a>
+<a href="#1842" id="1842">1842</a>
+<a href="#1843" id="1843">1843</a>
+<a href="#1844" id="1844">1844</a>
+<a href="#1845" id="1845">1845</a>
+<a href="#1846" id="1846">1846</a>
+<a href="#1847" id="1847">1847</a>
+<a href="#1848" id="1848">1848</a>
+<a href="#1849" id="1849">1849</a>
+<a href="#1850" id="1850">1850</a>
+<a href="#1851" id="1851">1851</a>
+<a href="#1852" id="1852">1852</a>
+<a href="#1853" id="1853">1853</a>
+<a href="#1854" id="1854">1854</a>
+<a href="#1855" id="1855">1855</a>
+<a href="#1856" id="1856">1856</a>
+<a href="#1857" id="1857">1857</a>
+<a href="#1858" id="1858">1858</a>
+<a href="#1859" id="1859">1859</a>
+<a href="#1860" id="1860">1860</a>
+<a href="#1861" id="1861">1861</a>
+<a href="#1862" id="1862">1862</a>
+<a href="#1863" id="1863">1863</a>
+<a href="#1864" id="1864">1864</a>
+<a href="#1865" id="1865">1865</a>
+<a href="#1866" id="1866">1866</a>
+<a href="#1867" id="1867">1867</a>
+<a href="#1868" id="1868">1868</a>
+<a href="#1869" id="1869">1869</a>
+<a href="#1870" id="1870">1870</a>
+<a href="#1871" id="1871">1871</a>
+<a href="#1872" id="1872">1872</a>
+<a href="#1873" id="1873">1873</a>
+<a href="#1874" id="1874">1874</a>
+<a href="#1875" id="1875">1875</a>
+<a href="#1876" id="1876">1876</a>
+<a href="#1877" id="1877">1877</a>
+<a href="#1878" id="1878">1878</a>
+<a href="#1879" id="1879">1879</a>
+<a href="#1880" id="1880">1880</a>
+<a href="#1881" id="1881">1881</a>
+<a href="#1882" id="1882">1882</a>
+<a href="#1883" id="1883">1883</a>
+<a href="#1884" id="1884">1884</a>
+<a href="#1885" id="1885">1885</a>
+<a href="#1886" id="1886">1886</a>
+<a href="#1887" id="1887">1887</a>
+<a href="#1888" id="1888">1888</a>
+<a href="#1889" id="1889">1889</a>
+<a href="#1890" id="1890">1890</a>
+<a href="#1891" id="1891">1891</a>
+<a href="#1892" id="1892">1892</a>
+<a href="#1893" id="1893">1893</a>
+<a href="#1894" id="1894">1894</a>
+<a href="#1895" id="1895">1895</a>
+<a href="#1896" id="1896">1896</a>
+<a href="#1897" id="1897">1897</a>
+<a href="#1898" id="1898">1898</a>
+<a href="#1899" id="1899">1899</a>
+<a href="#1900" id="1900">1900</a>
+<a href="#1901" id="1901">1901</a>
+<a href="#1902" id="1902">1902</a>
+<a href="#1903" id="1903">1903</a>
+<a href="#1904" id="1904">1904</a>
+<a href="#1905" id="1905">1905</a>
+<a href="#1906" id="1906">1906</a>
+<a href="#1907" id="1907">1907</a>
+<a href="#1908" id="1908">1908</a>
+<a href="#1909" id="1909">1909</a>
+<a href="#1910" id="1910">1910</a>
+<a href="#1911" id="1911">1911</a>
+<a href="#1912" id="1912">1912</a>
+<a href="#1913" id="1913">1913</a>
+<a href="#1914" id="1914">1914</a>
+<a href="#1915" id="1915">1915</a>
+<a href="#1916" id="1916">1916</a>
+<a href="#1917" id="1917">1917</a>
+<a href="#1918" id="1918">1918</a>
+<a href="#1919" id="1919">1919</a>
+<a href="#1920" id="1920">1920</a>
+<a href="#1921" id="1921">1921</a>
+<a href="#1922" id="1922">1922</a>
+<a href="#1923" id="1923">1923</a>
+<a href="#1924" id="1924">1924</a>
+<a href="#1925" id="1925">1925</a>
+<a href="#1926" id="1926">1926</a>
+<a href="#1927" id="1927">1927</a>
+<a href="#1928" id="1928">1928</a>
+<a href="#1929" id="1929">1929</a>
+<a href="#1930" id="1930">1930</a>
+<a href="#1931" id="1931">1931</a>
+<a href="#1932" id="1932">1932</a>
+<a href="#1933" id="1933">1933</a>
+<a href="#1934" id="1934">1934</a>
+<a href="#1935" id="1935">1935</a>
+<a href="#1936" id="1936">1936</a>
+<a href="#1937" id="1937">1937</a>
+<a href="#1938" id="1938">1938</a>
+<a href="#1939" id="1939">1939</a>
+<a href="#1940" id="1940">1940</a>
+<a href="#1941" id="1941">1941</a>
+<a href="#1942" id="1942">1942</a>
+<a href="#1943" id="1943">1943</a>
+<a href="#1944" id="1944">1944</a>
+<a href="#1945" id="1945">1945</a>
+<a href="#1946" id="1946">1946</a>
+<a href="#1947" id="1947">1947</a>
+<a href="#1948" id="1948">1948</a>
+<a href="#1949" id="1949">1949</a>
+<a href="#1950" id="1950">1950</a>
+<a href="#1951" id="1951">1951</a>
+<a href="#1952" id="1952">1952</a>
+<a href="#1953" id="1953">1953</a>
+<a href="#1954" id="1954">1954</a>
+<a href="#1955" id="1955">1955</a>
+<a href="#1956" id="1956">1956</a>
+<a href="#1957" id="1957">1957</a>
+<a href="#1958" id="1958">1958</a>
+<a href="#1959" id="1959">1959</a>
+<a href="#1960" id="1960">1960</a>
+<a href="#1961" id="1961">1961</a>
+<a href="#1962" id="1962">1962</a>
+<a href="#1963" id="1963">1963</a>
+<a href="#1964" id="1964">1964</a>
+<a href="#1965" id="1965">1965</a>
+<a href="#1966" id="1966">1966</a>
+<a href="#1967" id="1967">1967</a>
+<a href="#1968" id="1968">1968</a>
+<a href="#1969" id="1969">1969</a>
+<a href="#1970" id="1970">1970</a>
+<a href="#1971" id="1971">1971</a>
+<a href="#1972" id="1972">1972</a>
+<a href="#1973" id="1973">1973</a>
+<a href="#1974" id="1974">1974</a>
+<a href="#1975" id="1975">1975</a>
+<a href="#1976" id="1976">1976</a>
+<a href="#1977" id="1977">1977</a>
+<a href="#1978" id="1978">1978</a>
+<a href="#1979" id="1979">1979</a>
+<a href="#1980" id="1980">1980</a>
+<a href="#1981" id="1981">1981</a>
+<a href="#1982" id="1982">1982</a>
+<a href="#1983" id="1983">1983</a>
+<a href="#1984" id="1984">1984</a>
+<a href="#1985" id="1985">1985</a>
+<a href="#1986" id="1986">1986</a>
+<a href="#1987" id="1987">1987</a>
+<a href="#1988" id="1988">1988</a>
+<a href="#1989" id="1989">1989</a>
+<a href="#1990" id="1990">1990</a>
+<a href="#1991" id="1991">1991</a>
+<a href="#1992" id="1992">1992</a>
+<a href="#1993" id="1993">1993</a>
+<a href="#1994" id="1994">1994</a>
+<a href="#1995" id="1995">1995</a>
+<a href="#1996" id="1996">1996</a>
+<a href="#1997" id="1997">1997</a>
+<a href="#1998" id="1998">1998</a>
+<a href="#1999" id="1999">1999</a>
+<a href="#2000" id="2000">2000</a>
+<a href="#2001" id="2001">2001</a>
+<a href="#2002" id="2002">2002</a>
+<a href="#2003" id="2003">2003</a>
+<a href="#2004" id="2004">2004</a>
+<a href="#2005" id="2005">2005</a>
+<a href="#2006" id="2006">2006</a>
+<a href="#2007" id="2007">2007</a>
+<a href="#2008" id="2008">2008</a>
+<a href="#2009" id="2009">2009</a>
+<a href="#2010" id="2010">2010</a>
+<a href="#2011" id="2011">2011</a>
+<a href="#2012" id="2012">2012</a>
+<a href="#2013" id="2013">2013</a>
+<a href="#2014" id="2014">2014</a>
+<a href="#2015" id="2015">2015</a>
+<a href="#2016" id="2016">2016</a>
+<a href="#2017" id="2017">2017</a>
+<a href="#2018" id="2018">2018</a>
+<a href="#2019" id="2019">2019</a>
+<a href="#2020" id="2020">2020</a>
+<a href="#2021" id="2021">2021</a>
+<a href="#2022" id="2022">2022</a>
+<a href="#2023" id="2023">2023</a>
+<a href="#2024" id="2024">2024</a>
+<a href="#2025" id="2025">2025</a>
+<a href="#2026" id="2026">2026</a>
+<a href="#2027" id="2027">2027</a>
+<a href="#2028" id="2028">2028</a>
+<a href="#2029" id="2029">2029</a>
+<a href="#2030" id="2030">2030</a>
+<a href="#2031" id="2031">2031</a>
+<a href="#2032" id="2032">2032</a>
+<a href="#2033" id="2033">2033</a>
+<a href="#2034" id="2034">2034</a>
+<a href="#2035" id="2035">2035</a>
+<a href="#2036" id="2036">2036</a>
+<a href="#2037" id="2037">2037</a>
+<a href="#2038" id="2038">2038</a>
+<a href="#2039" id="2039">2039</a>
+<a href="#2040" id="2040">2040</a>
+<a href="#2041" id="2041">2041</a>
+<a href="#2042" id="2042">2042</a>
+<a href="#2043" id="2043">2043</a>
+<a href="#2044" id="2044">2044</a>
+<a href="#2045" id="2045">2045</a>
+<a href="#2046" id="2046">2046</a>
+<a href="#2047" id="2047">2047</a>
+<a href="#2048" id="2048">2048</a>
+<a href="#2049" id="2049">2049</a>
+<a href="#2050" id="2050">2050</a>
+<a href="#2051" id="2051">2051</a>
+<a href="#2052" id="2052">2052</a>
+<a href="#2053" id="2053">2053</a>
+<a href="#2054" id="2054">2054</a>
+<a href="#2055" id="2055">2055</a>
+<a href="#2056" id="2056">2056</a>
+<a href="#2057" id="2057">2057</a>
+<a href="#2058" id="2058">2058</a>
+<a href="#2059" id="2059">2059</a>
+<a href="#2060" id="2060">2060</a>
+<a href="#2061" id="2061">2061</a>
+<a href="#2062" id="2062">2062</a>
+<a href="#2063" id="2063">2063</a>
+<a href="#2064" id="2064">2064</a>
+<a href="#2065" id="2065">2065</a>
+<a href="#2066" id="2066">2066</a>
+<a href="#2067" id="2067">2067</a>
+<a href="#2068" id="2068">2068</a>
+<a href="#2069" id="2069">2069</a>
+<a href="#2070" id="2070">2070</a>
+<a href="#2071" id="2071">2071</a>
+<a href="#2072" id="2072">2072</a>
+<a href="#2073" id="2073">2073</a>
+<a href="#2074" id="2074">2074</a>
+<a href="#2075" id="2075">2075</a>
+<a href="#2076" id="2076">2076</a>
+<a href="#2077" id="2077">2077</a>
+<a href="#2078" id="2078">2078</a>
+<a href="#2079" id="2079">2079</a>
+<a href="#2080" id="2080">2080</a>
+<a href="#2081" id="2081">2081</a>
+<a href="#2082" id="2082">2082</a>
+<a href="#2083" id="2083">2083</a>
+<a href="#2084" id="2084">2084</a>
+<a href="#2085" id="2085">2085</a>
+<a href="#2086" id="2086">2086</a>
+<a href="#2087" id="2087">2087</a>
+<a href="#2088" id="2088">2088</a>
+<a href="#2089" id="2089">2089</a>
+<a href="#2090" id="2090">2090</a>
+<a href="#2091" id="2091">2091</a>
+<a href="#2092" id="2092">2092</a>
+<a href="#2093" id="2093">2093</a>
+<a href="#2094" id="2094">2094</a>
+<a href="#2095" id="2095">2095</a>
+<a href="#2096" id="2096">2096</a>
+<a href="#2097" id="2097">2097</a>
+<a href="#2098" id="2098">2098</a>
+<a href="#2099" id="2099">2099</a>
+<a href="#2100" id="2100">2100</a>
+<a href="#2101" id="2101">2101</a>
+<a href="#2102" id="2102">2102</a>
+<a href="#2103" id="2103">2103</a>
+<a href="#2104" id="2104">2104</a>
+<a href="#2105" id="2105">2105</a>
+<a href="#2106" id="2106">2106</a>
+<a href="#2107" id="2107">2107</a>
+<a href="#2108" id="2108">2108</a>
+<a href="#2109" id="2109">2109</a>
+<a href="#2110" id="2110">2110</a>
+<a href="#2111" id="2111">2111</a>
+<a href="#2112" id="2112">2112</a>
+<a href="#2113" id="2113">2113</a>
+<a href="#2114" id="2114">2114</a>
+<a href="#2115" id="2115">2115</a>
+<a href="#2116" id="2116">2116</a>
+<a href="#2117" id="2117">2117</a>
+<a href="#2118" id="2118">2118</a>
+<a href="#2119" id="2119">2119</a>
+<a href="#2120" id="2120">2120</a>
+<a href="#2121" id="2121">2121</a>
+<a href="#2122" id="2122">2122</a>
+<a href="#2123" id="2123">2123</a>
+<a href="#2124" id="2124">2124</a>
+<a href="#2125" id="2125">2125</a>
+<a href="#2126" id="2126">2126</a>
+<a href="#2127" id="2127">2127</a>
+<a href="#2128" id="2128">2128</a>
+<a href="#2129" id="2129">2129</a>
+<a href="#2130" id="2130">2130</a>
+<a href="#2131" id="2131">2131</a>
+<a href="#2132" id="2132">2132</a>
+<a href="#2133" id="2133">2133</a>
+<a href="#2134" id="2134">2134</a>
+<a href="#2135" id="2135">2135</a>
+<a href="#2136" id="2136">2136</a>
+<a href="#2137" id="2137">2137</a>
+<a href="#2138" id="2138">2138</a>
+<a href="#2139" id="2139">2139</a>
+<a href="#2140" id="2140">2140</a>
+<a href="#2141" id="2141">2141</a>
+<a href="#2142" id="2142">2142</a>
+<a href="#2143" id="2143">2143</a>
+<a href="#2144" id="2144">2144</a>
+<a href="#2145" id="2145">2145</a>
+<a href="#2146" id="2146">2146</a>
+<a href="#2147" id="2147">2147</a>
+<a href="#2148" id="2148">2148</a>
+<a href="#2149" id="2149">2149</a>
+<a href="#2150" id="2150">2150</a>
+<a href="#2151" id="2151">2151</a>
+<a href="#2152" id="2152">2152</a>
+<a href="#2153" id="2153">2153</a>
+<a href="#2154" id="2154">2154</a>
+<a href="#2155" id="2155">2155</a>
+<a href="#2156" id="2156">2156</a>
+<a href="#2157" id="2157">2157</a>
+<a href="#2158" id="2158">2158</a>
+<a href="#2159" id="2159">2159</a>
+<a href="#2160" id="2160">2160</a>
+<a href="#2161" id="2161">2161</a>
+<a href="#2162" id="2162">2162</a>
+<a href="#2163" id="2163">2163</a>
+<a href="#2164" id="2164">2164</a>
+<a href="#2165" id="2165">2165</a>
+<a href="#2166" id="2166">2166</a>
+<a href="#2167" id="2167">2167</a>
+<a href="#2168" id="2168">2168</a>
+<a href="#2169" id="2169">2169</a>
+<a href="#2170" id="2170">2170</a>
+<a href="#2171" id="2171">2171</a>
+<a href="#2172" id="2172">2172</a>
+<a href="#2173" id="2173">2173</a>
+<a href="#2174" id="2174">2174</a>
+<a href="#2175" id="2175">2175</a>
+<a href="#2176" id="2176">2176</a>
+<a href="#2177" id="2177">2177</a>
+<a href="#2178" id="2178">2178</a>
+<a href="#2179" id="2179">2179</a>
+<a href="#2180" id="2180">2180</a>
+<a href="#2181" id="2181">2181</a>
+<a href="#2182" id="2182">2182</a>
+<a href="#2183" id="2183">2183</a>
+<a href="#2184" id="2184">2184</a>
+<a href="#2185" id="2185">2185</a>
+<a href="#2186" id="2186">2186</a>
+<a href="#2187" id="2187">2187</a>
+<a href="#2188" id="2188">2188</a>
+<a href="#2189" id="2189">2189</a>
+<a href="#2190" id="2190">2190</a>
+<a href="#2191" id="2191">2191</a>
+<a href="#2192" id="2192">2192</a>
+<a href="#2193" id="2193">2193</a>
+<a href="#2194" id="2194">2194</a>
+<a href="#2195" id="2195">2195</a>
+<a href="#2196" id="2196">2196</a>
+<a href="#2197" id="2197">2197</a>
+<a href="#2198" id="2198">2198</a>
+<a href="#2199" id="2199">2199</a>
+<a href="#2200" id="2200">2200</a>
+<a href="#2201" id="2201">2201</a>
+<a href="#2202" id="2202">2202</a>
+<a href="#2203" id="2203">2203</a>
+<a href="#2204" id="2204">2204</a>
+<a href="#2205" id="2205">2205</a>
+<a href="#2206" id="2206">2206</a>
+<a href="#2207" id="2207">2207</a>
+<a href="#2208" id="2208">2208</a>
+<a href="#2209" id="2209">2209</a>
+<a href="#2210" id="2210">2210</a>
+<a href="#2211" id="2211">2211</a>
+<a href="#2212" id="2212">2212</a>
+<a href="#2213" id="2213">2213</a>
+<a href="#2214" id="2214">2214</a>
+<a href="#2215" id="2215">2215</a>
+<a href="#2216" id="2216">2216</a>
+<a href="#2217" id="2217">2217</a>
+<a href="#2218" id="2218">2218</a>
+<a href="#2219" id="2219">2219</a>
+<a href="#2220" id="2220">2220</a>
+<a href="#2221" id="2221">2221</a>
+<a href="#2222" id="2222">2222</a>
+<a href="#2223" id="2223">2223</a>
+<a href="#2224" id="2224">2224</a>
+<a href="#2225" id="2225">2225</a>
+<a href="#2226" id="2226">2226</a>
+<a href="#2227" id="2227">2227</a>
+<a href="#2228" id="2228">2228</a>
+<a href="#2229" id="2229">2229</a>
+<a href="#2230" id="2230">2230</a>
+<a href="#2231" id="2231">2231</a>
+<a href="#2232" id="2232">2232</a>
+<a href="#2233" id="2233">2233</a>
+<a href="#2234" id="2234">2234</a>
+<a href="#2235" id="2235">2235</a>
+<a href="#2236" id="2236">2236</a>
+<a href="#2237" id="2237">2237</a>
+<a href="#2238" id="2238">2238</a>
+<a href="#2239" id="2239">2239</a>
+<a href="#2240" id="2240">2240</a>
+<a href="#2241" id="2241">2241</a>
+<a href="#2242" id="2242">2242</a>
+<a href="#2243" id="2243">2243</a>
+<a href="#2244" id="2244">2244</a>
+<a href="#2245" id="2245">2245</a>
+<a href="#2246" id="2246">2246</a>
+<a href="#2247" id="2247">2247</a>
+<a href="#2248" id="2248">2248</a>
+<a href="#2249" id="2249">2249</a>
+<a href="#2250" id="2250">2250</a>
+<a href="#2251" id="2251">2251</a>
+<a href="#2252" id="2252">2252</a>
+<a href="#2253" id="2253">2253</a>
+<a href="#2254" id="2254">2254</a>
+<a href="#2255" id="2255">2255</a>
+<a href="#2256" id="2256">2256</a>
+<a href="#2257" id="2257">2257</a>
+<a href="#2258" id="2258">2258</a>
+<a href="#2259" id="2259">2259</a>
+<a href="#2260" id="2260">2260</a>
+<a href="#2261" id="2261">2261</a>
+<a href="#2262" id="2262">2262</a>
+<a href="#2263" id="2263">2263</a>
+<a href="#2264" id="2264">2264</a>
+<a href="#2265" id="2265">2265</a>
+<a href="#2266" id="2266">2266</a>
+<a href="#2267" id="2267">2267</a>
+<a href="#2268" id="2268">2268</a>
+<a href="#2269" id="2269">2269</a>
+<a href="#2270" id="2270">2270</a>
+<a href="#2271" id="2271">2271</a>
+<a href="#2272" id="2272">2272</a>
+<a href="#2273" id="2273">2273</a>
+<a href="#2274" id="2274">2274</a>
+<a href="#2275" id="2275">2275</a>
+<a href="#2276" id="2276">2276</a>
+<a href="#2277" id="2277">2277</a>
+<a href="#2278" id="2278">2278</a>
+<a href="#2279" id="2279">2279</a>
+<a href="#2280" id="2280">2280</a>
+<a href="#2281" id="2281">2281</a>
+<a href="#2282" id="2282">2282</a>
+<a href="#2283" id="2283">2283</a>
+<a href="#2284" id="2284">2284</a>
+<a href="#2285" id="2285">2285</a>
+<a href="#2286" id="2286">2286</a>
+<a href="#2287" id="2287">2287</a>
+<a href="#2288" id="2288">2288</a>
+<a href="#2289" id="2289">2289</a>
+<a href="#2290" id="2290">2290</a>
+<a href="#2291" id="2291">2291</a>
+<a href="#2292" id="2292">2292</a>
+<a href="#2293" id="2293">2293</a>
+<a href="#2294" id="2294">2294</a>
+<a href="#2295" id="2295">2295</a>
+<a href="#2296" id="2296">2296</a>
+<a href="#2297" id="2297">2297</a>
+<a href="#2298" id="2298">2298</a>
+<a href="#2299" id="2299">2299</a>
+<a href="#2300" id="2300">2300</a>
+<a href="#2301" id="2301">2301</a>
+<a href="#2302" id="2302">2302</a>
+<a href="#2303" id="2303">2303</a>
+<a href="#2304" id="2304">2304</a>
+<a href="#2305" id="2305">2305</a>
+<a href="#2306" id="2306">2306</a>
+<a href="#2307" id="2307">2307</a>
+<a href="#2308" id="2308">2308</a>
+<a href="#2309" id="2309">2309</a>
+<a href="#2310" id="2310">2310</a>
+<a href="#2311" id="2311">2311</a>
+<a href="#2312" id="2312">2312</a>
+<a href="#2313" id="2313">2313</a>
+<a href="#2314" id="2314">2314</a>
+<a href="#2315" id="2315">2315</a>
+<a href="#2316" id="2316">2316</a>
+<a href="#2317" id="2317">2317</a>
+<a href="#2318" id="2318">2318</a>
+<a href="#2319" id="2319">2319</a>
+<a href="#2320" id="2320">2320</a>
+<a href="#2321" id="2321">2321</a>
+<a href="#2322" id="2322">2322</a>
+<a href="#2323" id="2323">2323</a>
+<a href="#2324" id="2324">2324</a>
+<a href="#2325" id="2325">2325</a>
+<a href="#2326" id="2326">2326</a>
+<a href="#2327" id="2327">2327</a>
+<a href="#2328" id="2328">2328</a>
+<a href="#2329" id="2329">2329</a>
+<a href="#2330" id="2330">2330</a>
+<a href="#2331" id="2331">2331</a>
+<a href="#2332" id="2332">2332</a>
+<a href="#2333" id="2333">2333</a>
+<a href="#2334" id="2334">2334</a>
+<a href="#2335" id="2335">2335</a>
+<a href="#2336" id="2336">2336</a>
+<a href="#2337" id="2337">2337</a>
+<a href="#2338" id="2338">2338</a>
+<a href="#2339" id="2339">2339</a>
+<a href="#2340" id="2340">2340</a>
+<a href="#2341" id="2341">2341</a>
+<a href="#2342" id="2342">2342</a>
+<a href="#2343" id="2343">2343</a>
+<a href="#2344" id="2344">2344</a>
+<a href="#2345" id="2345">2345</a>
+<a href="#2346" id="2346">2346</a>
+<a href="#2347" id="2347">2347</a>
+<a href="#2348" id="2348">2348</a>
+<a href="#2349" id="2349">2349</a>
+<a href="#2350" id="2350">2350</a>
+<a href="#2351" id="2351">2351</a>
+<a href="#2352" id="2352">2352</a>
+<a href="#2353" id="2353">2353</a>
+<a href="#2354" id="2354">2354</a>
+<a href="#2355" id="2355">2355</a>
+<a href="#2356" id="2356">2356</a>
+<a href="#2357" id="2357">2357</a>
+<a href="#2358" id="2358">2358</a>
+<a href="#2359" id="2359">2359</a>
+<a href="#2360" id="2360">2360</a>
+<a href="#2361" id="2361">2361</a>
+<a href="#2362" id="2362">2362</a>
+<a href="#2363" id="2363">2363</a>
+<a href="#2364" id="2364">2364</a>
+<a href="#2365" id="2365">2365</a>
+<a href="#2366" id="2366">2366</a>
+<a href="#2367" id="2367">2367</a>
+<a href="#2368" id="2368">2368</a>
+<a href="#2369" id="2369">2369</a>
+<a href="#2370" id="2370">2370</a>
+<a href="#2371" id="2371">2371</a>
+<a href="#2372" id="2372">2372</a>
+<a href="#2373" id="2373">2373</a>
+<a href="#2374" id="2374">2374</a>
+<a href="#2375" id="2375">2375</a>
+<a href="#2376" id="2376">2376</a>
+<a href="#2377" id="2377">2377</a>
+<a href="#2378" id="2378">2378</a>
+<a href="#2379" id="2379">2379</a>
+<a href="#2380" id="2380">2380</a>
+<a href="#2381" id="2381">2381</a>
+<a href="#2382" id="2382">2382</a>
+<a href="#2383" id="2383">2383</a>
+<a href="#2384" id="2384">2384</a>
+<a href="#2385" id="2385">2385</a>
+<a href="#2386" id="2386">2386</a>
+<a href="#2387" id="2387">2387</a>
+<a href="#2388" id="2388">2388</a>
+<a href="#2389" id="2389">2389</a>
+<a href="#2390" id="2390">2390</a>
+<a href="#2391" id="2391">2391</a>
+<a href="#2392" id="2392">2392</a>
+<a href="#2393" id="2393">2393</a>
+<a href="#2394" id="2394">2394</a>
+<a href="#2395" id="2395">2395</a>
+<a href="#2396" id="2396">2396</a>
+<a href="#2397" id="2397">2397</a>
+<a href="#2398" id="2398">2398</a>
+<a href="#2399" id="2399">2399</a>
+<a href="#2400" id="2400">2400</a>
+<a href="#2401" id="2401">2401</a>
+<a href="#2402" id="2402">2402</a>
+<a href="#2403" id="2403">2403</a>
+<a href="#2404" id="2404">2404</a>
+<a href="#2405" id="2405">2405</a>
+<a href="#2406" id="2406">2406</a>
+<a href="#2407" id="2407">2407</a>
+<a href="#2408" id="2408">2408</a>
+<a href="#2409" id="2409">2409</a>
+<a href="#2410" id="2410">2410</a>
+<a href="#2411" id="2411">2411</a>
+<a href="#2412" id="2412">2412</a>
+<a href="#2413" id="2413">2413</a>
+<a href="#2414" id="2414">2414</a>
+<a href="#2415" id="2415">2415</a>
+<a href="#2416" id="2416">2416</a>
+<a href="#2417" id="2417">2417</a>
+<a href="#2418" id="2418">2418</a>
+<a href="#2419" id="2419">2419</a>
+<a href="#2420" id="2420">2420</a>
+<a href="#2421" id="2421">2421</a>
+<a href="#2422" id="2422">2422</a>
+<a href="#2423" id="2423">2423</a>
+<a href="#2424" id="2424">2424</a>
+<a href="#2425" id="2425">2425</a>
+<a href="#2426" id="2426">2426</a>
+<a href="#2427" id="2427">2427</a>
+<a href="#2428" id="2428">2428</a>
+<a href="#2429" id="2429">2429</a>
+<a href="#2430" id="2430">2430</a>
+<a href="#2431" id="2431">2431</a>
+<a href="#2432" id="2432">2432</a>
+<a href="#2433" id="2433">2433</a>
+<a href="#2434" id="2434">2434</a>
+<a href="#2435" id="2435">2435</a>
+<a href="#2436" id="2436">2436</a>
+<a href="#2437" id="2437">2437</a>
+<a href="#2438" id="2438">2438</a>
+<a href="#2439" id="2439">2439</a>
+<a href="#2440" id="2440">2440</a>
+<a href="#2441" id="2441">2441</a>
+<a href="#2442" id="2442">2442</a>
+<a href="#2443" id="2443">2443</a>
+<a href="#2444" id="2444">2444</a>
+<a href="#2445" id="2445">2445</a>
+<a href="#2446" id="2446">2446</a>
+<a href="#2447" id="2447">2447</a>
+<a href="#2448" id="2448">2448</a>
+<a href="#2449" id="2449">2449</a>
+<a href="#2450" id="2450">2450</a>
+<a href="#2451" id="2451">2451</a>
+<a href="#2452" id="2452">2452</a>
+<a href="#2453" id="2453">2453</a>
+<a href="#2454" id="2454">2454</a>
+<a href="#2455" id="2455">2455</a>
+<a href="#2456" id="2456">2456</a>
+<a href="#2457" id="2457">2457</a>
+<a href="#2458" id="2458">2458</a>
+<a href="#2459" id="2459">2459</a>
+<a href="#2460" id="2460">2460</a>
+<a href="#2461" id="2461">2461</a>
+<a href="#2462" id="2462">2462</a>
+<a href="#2463" id="2463">2463</a>
+<a href="#2464" id="2464">2464</a>
+<a href="#2465" id="2465">2465</a>
+<a href="#2466" id="2466">2466</a>
+<a href="#2467" id="2467">2467</a>
+<a href="#2468" id="2468">2468</a>
+<a href="#2469" id="2469">2469</a>
+<a href="#2470" id="2470">2470</a>
+<a href="#2471" id="2471">2471</a>
+<a href="#2472" id="2472">2472</a>
+<a href="#2473" id="2473">2473</a>
+<a href="#2474" id="2474">2474</a>
+<a href="#2475" id="2475">2475</a>
+<a href="#2476" id="2476">2476</a>
+<a href="#2477" id="2477">2477</a>
+<a href="#2478" id="2478">2478</a>
+<a href="#2479" id="2479">2479</a>
+<a href="#2480" id="2480">2480</a>
+<a href="#2481" id="2481">2481</a>
+<a href="#2482" id="2482">2482</a>
+<a href="#2483" id="2483">2483</a>
+<a href="#2484" id="2484">2484</a>
+<a href="#2485" id="2485">2485</a>
+<a href="#2486" id="2486">2486</a>
+<a href="#2487" id="2487">2487</a>
+<a href="#2488" id="2488">2488</a>
+<a href="#2489" id="2489">2489</a>
+<a href="#2490" id="2490">2490</a>
+<a href="#2491" id="2491">2491</a>
+<a href="#2492" id="2492">2492</a>
+<a href="#2493" id="2493">2493</a>
+<a href="#2494" id="2494">2494</a>
+<a href="#2495" id="2495">2495</a>
+<a href="#2496" id="2496">2496</a>
+<a href="#2497" id="2497">2497</a>
+<a href="#2498" id="2498">2498</a>
+<a href="#2499" id="2499">2499</a>
+<a href="#2500" id="2500">2500</a>
+<a href="#2501" id="2501">2501</a>
+<a href="#2502" id="2502">2502</a>
+<a href="#2503" id="2503">2503</a>
+<a href="#2504" id="2504">2504</a>
+<a href="#2505" id="2505">2505</a>
+<a href="#2506" id="2506">2506</a>
+<a href="#2507" id="2507">2507</a>
+<a href="#2508" id="2508">2508</a>
+<a href="#2509" id="2509">2509</a>
+<a href="#2510" id="2510">2510</a>
+<a href="#2511" id="2511">2511</a>
+<a href="#2512" id="2512">2512</a>
+<a href="#2513" id="2513">2513</a>
+<a href="#2514" id="2514">2514</a>
+<a href="#2515" id="2515">2515</a>
+<a href="#2516" id="2516">2516</a>
+<a href="#2517" id="2517">2517</a>
+<a href="#2518" id="2518">2518</a>
+<a href="#2519" id="2519">2519</a>
+<a href="#2520" id="2520">2520</a>
+<a href="#2521" id="2521">2521</a>
+<a href="#2522" id="2522">2522</a>
+<a href="#2523" id="2523">2523</a>
+<a href="#2524" id="2524">2524</a>
+<a href="#2525" id="2525">2525</a>
+<a href="#2526" id="2526">2526</a>
+<a href="#2527" id="2527">2527</a>
+<a href="#2528" id="2528">2528</a>
+<a href="#2529" id="2529">2529</a>
+<a href="#2530" id="2530">2530</a>
+<a href="#2531" id="2531">2531</a>
+<a href="#2532" id="2532">2532</a>
+<a href="#2533" id="2533">2533</a>
+<a href="#2534" id="2534">2534</a>
+<a href="#2535" id="2535">2535</a>
+<a href="#2536" id="2536">2536</a>
+<a href="#2537" id="2537">2537</a>
+<a href="#2538" id="2538">2538</a>
+<a href="#2539" id="2539">2539</a>
+<a href="#2540" id="2540">2540</a>
+<a href="#2541" id="2541">2541</a>
+<a href="#2542" id="2542">2542</a>
+<a href="#2543" id="2543">2543</a>
+<a href="#2544" id="2544">2544</a>
+<a href="#2545" id="2545">2545</a>
+<a href="#2546" id="2546">2546</a>
+<a href="#2547" id="2547">2547</a>
+<a href="#2548" id="2548">2548</a>
+<a href="#2549" id="2549">2549</a>
+<a href="#2550" id="2550">2550</a>
+<a href="#2551" id="2551">2551</a>
+<a href="#2552" id="2552">2552</a>
+<a href="#2553" id="2553">2553</a>
+<a href="#2554" id="2554">2554</a>
+<a href="#2555" id="2555">2555</a>
+<a href="#2556" id="2556">2556</a>
+<a href="#2557" id="2557">2557</a>
+<a href="#2558" id="2558">2558</a>
+<a href="#2559" id="2559">2559</a>
+<a href="#2560" id="2560">2560</a>
+<a href="#2561" id="2561">2561</a>
+<a href="#2562" id="2562">2562</a>
+<a href="#2563" id="2563">2563</a>
+<a href="#2564" id="2564">2564</a>
+<a href="#2565" id="2565">2565</a>
+<a href="#2566" id="2566">2566</a>
+<a href="#2567" id="2567">2567</a>
+<a href="#2568" id="2568">2568</a>
+<a href="#2569" id="2569">2569</a>
+<a href="#2570" id="2570">2570</a>
+<a href="#2571" id="2571">2571</a>
+<a href="#2572" id="2572">2572</a>
+<a href="#2573" id="2573">2573</a>
+<a href="#2574" id="2574">2574</a>
+<a href="#2575" id="2575">2575</a>
+<a href="#2576" id="2576">2576</a>
+<a href="#2577" id="2577">2577</a>
+<a href="#2578" id="2578">2578</a>
+<a href="#2579" id="2579">2579</a>
+<a href="#2580" id="2580">2580</a>
+<a href="#2581" id="2581">2581</a>
+<a href="#2582" id="2582">2582</a>
+<a href="#2583" id="2583">2583</a>
+<a href="#2584" id="2584">2584</a>
+<a href="#2585" id="2585">2585</a>
+<a href="#2586" id="2586">2586</a>
+<a href="#2587" id="2587">2587</a>
+<a href="#2588" id="2588">2588</a>
+<a href="#2589" id="2589">2589</a>
+<a href="#2590" id="2590">2590</a>
+<a href="#2591" id="2591">2591</a>
+<a href="#2592" id="2592">2592</a>
+<a href="#2593" id="2593">2593</a>
+<a href="#2594" id="2594">2594</a>
+<a href="#2595" id="2595">2595</a>
+<a href="#2596" id="2596">2596</a>
+<a href="#2597" id="2597">2597</a>
+<a href="#2598" id="2598">2598</a>
+<a href="#2599" id="2599">2599</a>
+<a href="#2600" id="2600">2600</a>
+<a href="#2601" id="2601">2601</a>
+<a href="#2602" id="2602">2602</a>
+<a href="#2603" id="2603">2603</a>
+<a href="#2604" id="2604">2604</a>
+<a href="#2605" id="2605">2605</a>
+<a href="#2606" id="2606">2606</a>
+<a href="#2607" id="2607">2607</a>
+<a href="#2608" id="2608">2608</a>
+<a href="#2609" id="2609">2609</a>
+<a href="#2610" id="2610">2610</a>
+<a href="#2611" id="2611">2611</a>
+<a href="#2612" id="2612">2612</a>
+<a href="#2613" id="2613">2613</a>
+<a href="#2614" id="2614">2614</a>
+<a href="#2615" id="2615">2615</a>
+<a href="#2616" id="2616">2616</a>
+<a href="#2617" id="2617">2617</a>
+<a href="#2618" id="2618">2618</a>
+<a href="#2619" id="2619">2619</a>
+<a href="#2620" id="2620">2620</a>
+<a href="#2621" id="2621">2621</a>
+<a href="#2622" id="2622">2622</a>
+<a href="#2623" id="2623">2623</a>
+<a href="#2624" id="2624">2624</a>
+<a href="#2625" id="2625">2625</a>
+<a href="#2626" id="2626">2626</a>
+<a href="#2627" id="2627">2627</a>
+<a href="#2628" id="2628">2628</a>
+<a href="#2629" id="2629">2629</a>
+<a href="#2630" id="2630">2630</a>
+<a href="#2631" id="2631">2631</a>
+<a href="#2632" id="2632">2632</a>
+<a href="#2633" id="2633">2633</a>
+<a href="#2634" id="2634">2634</a>
+<a href="#2635" id="2635">2635</a>
+<a href="#2636" id="2636">2636</a>
+<a href="#2637" id="2637">2637</a>
+<a href="#2638" id="2638">2638</a>
+<a href="#2639" id="2639">2639</a>
+<a href="#2640" id="2640">2640</a>
+<a href="#2641" id="2641">2641</a>
+<a href="#2642" id="2642">2642</a>
+<a href="#2643" id="2643">2643</a>
+<a href="#2644" id="2644">2644</a>
+<a href="#2645" id="2645">2645</a>
+<a href="#2646" id="2646">2646</a>
+<a href="#2647" id="2647">2647</a>
+<a href="#2648" id="2648">2648</a>
+<a href="#2649" id="2649">2649</a>
+<a href="#2650" id="2650">2650</a>
+<a href="#2651" id="2651">2651</a>
+<a href="#2652" id="2652">2652</a>
+<a href="#2653" id="2653">2653</a>
+<a href="#2654" id="2654">2654</a>
+<a href="#2655" id="2655">2655</a>
+<a href="#2656" id="2656">2656</a>
+<a href="#2657" id="2657">2657</a>
+<a href="#2658" id="2658">2658</a>
+<a href="#2659" id="2659">2659</a>
+<a href="#2660" id="2660">2660</a>
+<a href="#2661" id="2661">2661</a>
+<a href="#2662" id="2662">2662</a>
+<a href="#2663" id="2663">2663</a>
+<a href="#2664" id="2664">2664</a>
+<a href="#2665" id="2665">2665</a>
+<a href="#2666" id="2666">2666</a>
+<a href="#2667" id="2667">2667</a>
+<a href="#2668" id="2668">2668</a>
+<a href="#2669" id="2669">2669</a>
+<a href="#2670" id="2670">2670</a>
+<a href="#2671" id="2671">2671</a>
+<a href="#2672" id="2672">2672</a>
+<a href="#2673" id="2673">2673</a>
+<a href="#2674" id="2674">2674</a>
+<a href="#2675" id="2675">2675</a>
+<a href="#2676" id="2676">2676</a>
+<a href="#2677" id="2677">2677</a>
+<a href="#2678" id="2678">2678</a>
+<a href="#2679" id="2679">2679</a>
+<a href="#2680" id="2680">2680</a>
+<a href="#2681" id="2681">2681</a>
+<a href="#2682" id="2682">2682</a>
+<a href="#2683" id="2683">2683</a>
+<a href="#2684" id="2684">2684</a>
+<a href="#2685" id="2685">2685</a>
+<a href="#2686" id="2686">2686</a>
+<a href="#2687" id="2687">2687</a>
+<a href="#2688" id="2688">2688</a>
+<a href="#2689" id="2689">2689</a>
+<a href="#2690" id="2690">2690</a>
+<a href="#2691" id="2691">2691</a>
+<a href="#2692" id="2692">2692</a>
+<a href="#2693" id="2693">2693</a>
+<a href="#2694" id="2694">2694</a>
+<a href="#2695" id="2695">2695</a>
+<a href="#2696" id="2696">2696</a>
+<a href="#2697" id="2697">2697</a>
+<a href="#2698" id="2698">2698</a>
+<a href="#2699" id="2699">2699</a>
+<a href="#2700" id="2700">2700</a>
+<a href="#2701" id="2701">2701</a>
+<a href="#2702" id="2702">2702</a>
+<a href="#2703" id="2703">2703</a>
+<a href="#2704" id="2704">2704</a>
+<a href="#2705" id="2705">2705</a>
+<a href="#2706" id="2706">2706</a>
+<a href="#2707" id="2707">2707</a>
+<a href="#2708" id="2708">2708</a>
+<a href="#2709" id="2709">2709</a>
+<a href="#2710" id="2710">2710</a>
+<a href="#2711" id="2711">2711</a>
+<a href="#2712" id="2712">2712</a>
+<a href="#2713" id="2713">2713</a>
+<a href="#2714" id="2714">2714</a>
+<a href="#2715" id="2715">2715</a>
+<a href="#2716" id="2716">2716</a>
+<a href="#2717" id="2717">2717</a>
+<a href="#2718" id="2718">2718</a>
+<a href="#2719" id="2719">2719</a>
+<a href="#2720" id="2720">2720</a>
+<a href="#2721" id="2721">2721</a>
+<a href="#2722" id="2722">2722</a>
+<a href="#2723" id="2723">2723</a>
+<a href="#2724" id="2724">2724</a>
+<a href="#2725" id="2725">2725</a>
+<a href="#2726" id="2726">2726</a>
+<a href="#2727" id="2727">2727</a>
+<a href="#2728" id="2728">2728</a>
+<a href="#2729" id="2729">2729</a>
+<a href="#2730" id="2730">2730</a>
+<a href="#2731" id="2731">2731</a>
+<a href="#2732" id="2732">2732</a>
+<a href="#2733" id="2733">2733</a>
+<a href="#2734" id="2734">2734</a>
+<a href="#2735" id="2735">2735</a>
+<a href="#2736" id="2736">2736</a>
+<a href="#2737" id="2737">2737</a>
+<a href="#2738" id="2738">2738</a>
+<a href="#2739" id="2739">2739</a>
+<a href="#2740" id="2740">2740</a>
+<a href="#2741" id="2741">2741</a>
+<a href="#2742" id="2742">2742</a>
+<a href="#2743" id="2743">2743</a>
+<a href="#2744" id="2744">2744</a>
+<a href="#2745" id="2745">2745</a>
+<a href="#2746" id="2746">2746</a>
+<a href="#2747" id="2747">2747</a>
+<a href="#2748" id="2748">2748</a>
+<a href="#2749" id="2749">2749</a>
+<a href="#2750" id="2750">2750</a>
+<a href="#2751" id="2751">2751</a>
+<a href="#2752" id="2752">2752</a>
+<a href="#2753" id="2753">2753</a>
+<a href="#2754" id="2754">2754</a>
+<a href="#2755" id="2755">2755</a>
+<a href="#2756" id="2756">2756</a>
+<a href="#2757" id="2757">2757</a>
+<a href="#2758" id="2758">2758</a>
+<a href="#2759" id="2759">2759</a>
+<a href="#2760" id="2760">2760</a>
+<a href="#2761" id="2761">2761</a>
+<a href="#2762" id="2762">2762</a>
+<a href="#2763" id="2763">2763</a>
+<a href="#2764" id="2764">2764</a>
+<a href="#2765" id="2765">2765</a>
+<a href="#2766" id="2766">2766</a>
+<a href="#2767" id="2767">2767</a>
+<a href="#2768" id="2768">2768</a>
+<a href="#2769" id="2769">2769</a>
+<a href="#2770" id="2770">2770</a>
+<a href="#2771" id="2771">2771</a>
+<a href="#2772" id="2772">2772</a>
+<a href="#2773" id="2773">2773</a>
+<a href="#2774" id="2774">2774</a>
+<a href="#2775" id="2775">2775</a>
+<a href="#2776" id="2776">2776</a>
+<a href="#2777" id="2777">2777</a>
+<a href="#2778" id="2778">2778</a>
+<a href="#2779" id="2779">2779</a>
+<a href="#2780" id="2780">2780</a>
+<a href="#2781" id="2781">2781</a>
+<a href="#2782" id="2782">2782</a>
+<a href="#2783" id="2783">2783</a>
+<a href="#2784" id="2784">2784</a>
+<a href="#2785" id="2785">2785</a>
+<a href="#2786" id="2786">2786</a>
+<a href="#2787" id="2787">2787</a>
+<a href="#2788" id="2788">2788</a>
+<a href="#2789" id="2789">2789</a>
+<a href="#2790" id="2790">2790</a>
+<a href="#2791" id="2791">2791</a>
+<a href="#2792" id="2792">2792</a>
+<a href="#2793" id="2793">2793</a>
+<a href="#2794" id="2794">2794</a>
+<a href="#2795" id="2795">2795</a>
+<a href="#2796" id="2796">2796</a>
+<a href="#2797" id="2797">2797</a>
+<a href="#2798" id="2798">2798</a>
+<a href="#2799" id="2799">2799</a>
+<a href="#2800" id="2800">2800</a>
+<a href="#2801" id="2801">2801</a>
+<a href="#2802" id="2802">2802</a>
+<a href="#2803" id="2803">2803</a>
+<a href="#2804" id="2804">2804</a>
+<a href="#2805" id="2805">2805</a>
+<a href="#2806" id="2806">2806</a>
+<a href="#2807" id="2807">2807</a>
+<a href="#2808" id="2808">2808</a>
+<a href="#2809" id="2809">2809</a>
+<a href="#2810" id="2810">2810</a>
+<a href="#2811" id="2811">2811</a>
+<a href="#2812" id="2812">2812</a>
+<a href="#2813" id="2813">2813</a>
+<a href="#2814" id="2814">2814</a>
+<a href="#2815" id="2815">2815</a>
+<a href="#2816" id="2816">2816</a>
+<a href="#2817" id="2817">2817</a>
+<a href="#2818" id="2818">2818</a>
+<a href="#2819" id="2819">2819</a>
+<a href="#2820" id="2820">2820</a>
+<a href="#2821" id="2821">2821</a>
+<a href="#2822" id="2822">2822</a>
+<a href="#2823" id="2823">2823</a>
+<a href="#2824" id="2824">2824</a>
+<a href="#2825" id="2825">2825</a>
+<a href="#2826" id="2826">2826</a>
+<a href="#2827" id="2827">2827</a>
+<a href="#2828" id="2828">2828</a>
+<a href="#2829" id="2829">2829</a>
+<a href="#2830" id="2830">2830</a>
+<a href="#2831" id="2831">2831</a>
+<a href="#2832" id="2832">2832</a>
+<a href="#2833" id="2833">2833</a>
+<a href="#2834" id="2834">2834</a>
+<a href="#2835" id="2835">2835</a>
+<a href="#2836" id="2836">2836</a>
+<a href="#2837" id="2837">2837</a>
+<a href="#2838" id="2838">2838</a>
+<a href="#2839" id="2839">2839</a>
+<a href="#2840" id="2840">2840</a>
+<a href="#2841" id="2841">2841</a>
+<a href="#2842" id="2842">2842</a>
+<a href="#2843" id="2843">2843</a>
+<a href="#2844" id="2844">2844</a>
+<a href="#2845" id="2845">2845</a>
+<a href="#2846" id="2846">2846</a>
+<a href="#2847" id="2847">2847</a>
+<a href="#2848" id="2848">2848</a>
+<a href="#2849" id="2849">2849</a>
+<a href="#2850" id="2850">2850</a>
+<a href="#2851" id="2851">2851</a>
+<a href="#2852" id="2852">2852</a>
+<a href="#2853" id="2853">2853</a>
+<a href="#2854" id="2854">2854</a>
+<a href="#2855" id="2855">2855</a>
+<a href="#2856" id="2856">2856</a>
+<a href="#2857" id="2857">2857</a>
+<a href="#2858" id="2858">2858</a>
+<a href="#2859" id="2859">2859</a>
+<a href="#2860" id="2860">2860</a>
+<a href="#2861" id="2861">2861</a>
+<a href="#2862" id="2862">2862</a>
+<a href="#2863" id="2863">2863</a>
+<a href="#2864" id="2864">2864</a>
+<a href="#2865" id="2865">2865</a>
+<a href="#2866" id="2866">2866</a>
+<a href="#2867" id="2867">2867</a>
+<a href="#2868" id="2868">2868</a>
+<a href="#2869" id="2869">2869</a>
+<a href="#2870" id="2870">2870</a>
+<a href="#2871" id="2871">2871</a>
+<a href="#2872" id="2872">2872</a>
+<a href="#2873" id="2873">2873</a>
+<a href="#2874" id="2874">2874</a>
+<a href="#2875" id="2875">2875</a>
+<a href="#2876" id="2876">2876</a>
+<a href="#2877" id="2877">2877</a>
+<a href="#2878" id="2878">2878</a>
+<a href="#2879" id="2879">2879</a>
+<a href="#2880" id="2880">2880</a>
+<a href="#2881" id="2881">2881</a>
+<a href="#2882" id="2882">2882</a>
+<a href="#2883" id="2883">2883</a>
+<a href="#2884" id="2884">2884</a>
+<a href="#2885" id="2885">2885</a>
+<a href="#2886" id="2886">2886</a>
+<a href="#2887" id="2887">2887</a>
+<a href="#2888" id="2888">2888</a>
+<a href="#2889" id="2889">2889</a>
+<a href="#2890" id="2890">2890</a>
+<a href="#2891" id="2891">2891</a>
+<a href="#2892" id="2892">2892</a>
+<a href="#2893" id="2893">2893</a>
+<a href="#2894" id="2894">2894</a>
+<a href="#2895" id="2895">2895</a>
+<a href="#2896" id="2896">2896</a>
+<a href="#2897" id="2897">2897</a>
+<a href="#2898" id="2898">2898</a>
+<a href="#2899" id="2899">2899</a>
+<a href="#2900" id="2900">2900</a>
+<a href="#2901" id="2901">2901</a>
+<a href="#2902" id="2902">2902</a>
+<a href="#2903" id="2903">2903</a>
+<a href="#2904" id="2904">2904</a>
+<a href="#2905" id="2905">2905</a>
+<a href="#2906" id="2906">2906</a>
+<a href="#2907" id="2907">2907</a>
+<a href="#2908" id="2908">2908</a>
+<a href="#2909" id="2909">2909</a>
+<a href="#2910" id="2910">2910</a>
+<a href="#2911" id="2911">2911</a>
+<a href="#2912" id="2912">2912</a>
+<a href="#2913" id="2913">2913</a>
+<a href="#2914" id="2914">2914</a>
+<a href="#2915" id="2915">2915</a>
+<a href="#2916" id="2916">2916</a>
+<a href="#2917" id="2917">2917</a>
+<a href="#2918" id="2918">2918</a>
+<a href="#2919" id="2919">2919</a>
+<a href="#2920" id="2920">2920</a>
+<a href="#2921" id="2921">2921</a>
+<a href="#2922" id="2922">2922</a>
+<a href="#2923" id="2923">2923</a>
+<a href="#2924" id="2924">2924</a>
+<a href="#2925" id="2925">2925</a>
+<a href="#2926" id="2926">2926</a>
+<a href="#2927" id="2927">2927</a>
+<a href="#2928" id="2928">2928</a>
+<a href="#2929" id="2929">2929</a>
+<a href="#2930" id="2930">2930</a>
+<a href="#2931" id="2931">2931</a>
+<a href="#2932" id="2932">2932</a>
+<a href="#2933" id="2933">2933</a>
+<a href="#2934" id="2934">2934</a>
+<a href="#2935" id="2935">2935</a>
+<a href="#2936" id="2936">2936</a>
+<a href="#2937" id="2937">2937</a>
+<a href="#2938" id="2938">2938</a>
+<a href="#2939" id="2939">2939</a>
+<a href="#2940" id="2940">2940</a>
+<a href="#2941" id="2941">2941</a>
+<a href="#2942" id="2942">2942</a>
+<a href="#2943" id="2943">2943</a>
+<a href="#2944" id="2944">2944</a>
+<a href="#2945" id="2945">2945</a>
+<a href="#2946" id="2946">2946</a>
+<a href="#2947" id="2947">2947</a>
+<a href="#2948" id="2948">2948</a>
+<a href="#2949" id="2949">2949</a>
+<a href="#2950" id="2950">2950</a>
+<a href="#2951" id="2951">2951</a>
+<a href="#2952" id="2952">2952</a>
+<a href="#2953" id="2953">2953</a>
+<a href="#2954" id="2954">2954</a>
+<a href="#2955" id="2955">2955</a>
+<a href="#2956" id="2956">2956</a>
+<a href="#2957" id="2957">2957</a>
+<a href="#2958" id="2958">2958</a>
+<a href="#2959" id="2959">2959</a>
+<a href="#2960" id="2960">2960</a>
+<a href="#2961" id="2961">2961</a>
+<a href="#2962" id="2962">2962</a>
+<a href="#2963" id="2963">2963</a>
+<a href="#2964" id="2964">2964</a>
+<a href="#2965" id="2965">2965</a>
+<a href="#2966" id="2966">2966</a>
+<a href="#2967" id="2967">2967</a>
+<a href="#2968" id="2968">2968</a>
+<a href="#2969" id="2969">2969</a>
+<a href="#2970" id="2970">2970</a>
+<a href="#2971" id="2971">2971</a>
+<a href="#2972" id="2972">2972</a>
+<a href="#2973" id="2973">2973</a>
+<a href="#2974" id="2974">2974</a>
+<a href="#2975" id="2975">2975</a>
+<a href="#2976" id="2976">2976</a>
+<a href="#2977" id="2977">2977</a>
+<a href="#2978" id="2978">2978</a>
+<a href="#2979" id="2979">2979</a>
+<a href="#2980" id="2980">2980</a>
+<a href="#2981" id="2981">2981</a>
+<a href="#2982" id="2982">2982</a>
+<a href="#2983" id="2983">2983</a>
+<a href="#2984" id="2984">2984</a>
+<a href="#2985" id="2985">2985</a>
+<a href="#2986" id="2986">2986</a>
+<a href="#2987" id="2987">2987</a>
+<a href="#2988" id="2988">2988</a>
+<a href="#2989" id="2989">2989</a>
+<a href="#2990" id="2990">2990</a>
+<a href="#2991" id="2991">2991</a>
+<a href="#2992" id="2992">2992</a>
+<a href="#2993" id="2993">2993</a>
+<a href="#2994" id="2994">2994</a>
+<a href="#2995" id="2995">2995</a>
+<a href="#2996" id="2996">2996</a>
+<a href="#2997" id="2997">2997</a>
+<a href="#2998" id="2998">2998</a>
+<a href="#2999" id="2999">2999</a>
+<a href="#3000" id="3000">3000</a>
+<a href="#3001" id="3001">3001</a>
+<a href="#3002" id="3002">3002</a>
+<a href="#3003" id="3003">3003</a>
+<a href="#3004" id="3004">3004</a>
+<a href="#3005" id="3005">3005</a>
+<a href="#3006" id="3006">3006</a>
+<a href="#3007" id="3007">3007</a>
+<a href="#3008" id="3008">3008</a>
+<a href="#3009" id="3009">3009</a>
+<a href="#3010" id="3010">3010</a>
+<a href="#3011" id="3011">3011</a>
+<a href="#3012" id="3012">3012</a>
+<a href="#3013" id="3013">3013</a>
+<a href="#3014" id="3014">3014</a>
+<a href="#3015" id="3015">3015</a>
+<a href="#3016" id="3016">3016</a>
+<a href="#3017" id="3017">3017</a>
+<a href="#3018" id="3018">3018</a>
+<a href="#3019" id="3019">3019</a>
+<a href="#3020" id="3020">3020</a>
+<a href="#3021" id="3021">3021</a>
+<a href="#3022" id="3022">3022</a>
+<a href="#3023" id="3023">3023</a>
+<a href="#3024" id="3024">3024</a>
+<a href="#3025" id="3025">3025</a>
+<a href="#3026" id="3026">3026</a>
+<a href="#3027" id="3027">3027</a>
+<a href="#3028" id="3028">3028</a>
+<a href="#3029" id="3029">3029</a>
+<a href="#3030" id="3030">3030</a>
+<a href="#3031" id="3031">3031</a>
+<a href="#3032" id="3032">3032</a>
+<a href="#3033" id="3033">3033</a>
+<a href="#3034" id="3034">3034</a>
+<a href="#3035" id="3035">3035</a>
+<a href="#3036" id="3036">3036</a>
+<a href="#3037" id="3037">3037</a>
+<a href="#3038" id="3038">3038</a>
+<a href="#3039" id="3039">3039</a>
+<a href="#3040" id="3040">3040</a>
+<a href="#3041" id="3041">3041</a>
+<a href="#3042" id="3042">3042</a>
+<a href="#3043" id="3043">3043</a>
+<a href="#3044" id="3044">3044</a>
+<a href="#3045" id="3045">3045</a>
+<a href="#3046" id="3046">3046</a>
+<a href="#3047" id="3047">3047</a>
+<a href="#3048" id="3048">3048</a>
+<a href="#3049" id="3049">3049</a>
+<a href="#3050" id="3050">3050</a>
+<a href="#3051" id="3051">3051</a>
+<a href="#3052" id="3052">3052</a>
+<a href="#3053" id="3053">3053</a>
+<a href="#3054" id="3054">3054</a>
+<a href="#3055" id="3055">3055</a>
+<a href="#3056" id="3056">3056</a>
+<a href="#3057" id="3057">3057</a>
+<a href="#3058" id="3058">3058</a>
+<a href="#3059" id="3059">3059</a>
+<a href="#3060" id="3060">3060</a>
+<a href="#3061" id="3061">3061</a>
+<a href="#3062" id="3062">3062</a>
+<a href="#3063" id="3063">3063</a>
+<a href="#3064" id="3064">3064</a>
+<a href="#3065" id="3065">3065</a>
+<a href="#3066" id="3066">3066</a>
+<a href="#3067" id="3067">3067</a>
+<a href="#3068" id="3068">3068</a>
+<a href="#3069" id="3069">3069</a>
+<a href="#3070" id="3070">3070</a>
+<a href="#3071" id="3071">3071</a>
+<a href="#3072" id="3072">3072</a>
+<a href="#3073" id="3073">3073</a>
+<a href="#3074" id="3074">3074</a>
+<a href="#3075" id="3075">3075</a>
+<a href="#3076" id="3076">3076</a>
+<a href="#3077" id="3077">3077</a>
+<a href="#3078" id="3078">3078</a>
+<a href="#3079" id="3079">3079</a>
+<a href="#3080" id="3080">3080</a>
+<a href="#3081" id="3081">3081</a>
+<a href="#3082" id="3082">3082</a>
+<a href="#3083" id="3083">3083</a>
+<a href="#3084" id="3084">3084</a>
+<a href="#3085" id="3085">3085</a>
+<a href="#3086" id="3086">3086</a>
+<a href="#3087" id="3087">3087</a>
+<a href="#3088" id="3088">3088</a>
+<a href="#3089" id="3089">3089</a>
+<a href="#3090" id="3090">3090</a>
+<a href="#3091" id="3091">3091</a>
+<a href="#3092" id="3092">3092</a>
+<a href="#3093" id="3093">3093</a>
+<a href="#3094" id="3094">3094</a>
+<a href="#3095" id="3095">3095</a>
+<a href="#3096" id="3096">3096</a>
+<a href="#3097" id="3097">3097</a>
+<a href="#3098" id="3098">3098</a>
+<a href="#3099" id="3099">3099</a>
+<a href="#3100" id="3100">3100</a>
+<a href="#3101" id="3101">3101</a>
+<a href="#3102" id="3102">3102</a>
+<a href="#3103" id="3103">3103</a>
+<a href="#3104" id="3104">3104</a>
+<a href="#3105" id="3105">3105</a>
+<a href="#3106" id="3106">3106</a>
+<a href="#3107" id="3107">3107</a>
+<a href="#3108" id="3108">3108</a>
+<a href="#3109" id="3109">3109</a>
+<a href="#3110" id="3110">3110</a>
+<a href="#3111" id="3111">3111</a>
+<a href="#3112" id="3112">3112</a>
+<a href="#3113" id="3113">3113</a>
+<a href="#3114" id="3114">3114</a>
+<a href="#3115" id="3115">3115</a>
+<a href="#3116" id="3116">3116</a>
+<a href="#3117" id="3117">3117</a>
+<a href="#3118" id="3118">3118</a>
+<a href="#3119" id="3119">3119</a>
+<a href="#3120" id="3120">3120</a>
+<a href="#3121" id="3121">3121</a>
+<a href="#3122" id="3122">3122</a>
+<a href="#3123" id="3123">3123</a>
+<a href="#3124" id="3124">3124</a>
+<a href="#3125" id="3125">3125</a>
+<a href="#3126" id="3126">3126</a>
+<a href="#3127" id="3127">3127</a>
+<a href="#3128" id="3128">3128</a>
+<a href="#3129" id="3129">3129</a>
+<a href="#3130" id="3130">3130</a>
+<a href="#3131" id="3131">3131</a>
+<a href="#3132" id="3132">3132</a>
+<a href="#3133" id="3133">3133</a>
+<a href="#3134" id="3134">3134</a>
+<a href="#3135" id="3135">3135</a>
+<a href="#3136" id="3136">3136</a>
+<a href="#3137" id="3137">3137</a>
+<a href="#3138" id="3138">3138</a>
+<a href="#3139" id="3139">3139</a>
+<a href="#3140" id="3140">3140</a>
+<a href="#3141" id="3141">3141</a>
+<a href="#3142" id="3142">3142</a>
+<a href="#3143" id="3143">3143</a>
+<a href="#3144" id="3144">3144</a>
+<a href="#3145" id="3145">3145</a>
+<a href="#3146" id="3146">3146</a>
+<a href="#3147" id="3147">3147</a>
+<a href="#3148" id="3148">3148</a>
+<a href="#3149" id="3149">3149</a>
+<a href="#3150" id="3150">3150</a>
+<a href="#3151" id="3151">3151</a>
+<a href="#3152" id="3152">3152</a>
+<a href="#3153" id="3153">3153</a>
+<a href="#3154" id="3154">3154</a>
+<a href="#3155" id="3155">3155</a>
+<a href="#3156" id="3156">3156</a>
+<a href="#3157" id="3157">3157</a>
+<a href="#3158" id="3158">3158</a>
+<a href="#3159" id="3159">3159</a>
+<a href="#3160" id="3160">3160</a>
+<a href="#3161" id="3161">3161</a>
+<a href="#3162" id="3162">3162</a>
+<a href="#3163" id="3163">3163</a>
+<a href="#3164" id="3164">3164</a>
+<a href="#3165" id="3165">3165</a>
+<a href="#3166" id="3166">3166</a>
+<a href="#3167" id="3167">3167</a>
+<a href="#3168" id="3168">3168</a>
+<a href="#3169" id="3169">3169</a>
+<a href="#3170" id="3170">3170</a>
+<a href="#3171" id="3171">3171</a>
+<a href="#3172" id="3172">3172</a>
+<a href="#3173" id="3173">3173</a>
+<a href="#3174" id="3174">3174</a>
+<a href="#3175" id="3175">3175</a>
+<a href="#3176" id="3176">3176</a>
+<a href="#3177" id="3177">3177</a>
+<a href="#3178" id="3178">3178</a>
+<a href="#3179" id="3179">3179</a>
+<a href="#3180" id="3180">3180</a>
+<a href="#3181" id="3181">3181</a>
+<a href="#3182" id="3182">3182</a>
+<a href="#3183" id="3183">3183</a>
+<a href="#3184" id="3184">3184</a>
+<a href="#3185" id="3185">3185</a>
+<a href="#3186" id="3186">3186</a>
+<a href="#3187" id="3187">3187</a>
+<a href="#3188" id="3188">3188</a>
+<a href="#3189" id="3189">3189</a>
+<a href="#3190" id="3190">3190</a>
+<a href="#3191" id="3191">3191</a>
+<a href="#3192" id="3192">3192</a>
+<a href="#3193" id="3193">3193</a>
+<a href="#3194" id="3194">3194</a>
+<a href="#3195" id="3195">3195</a>
+<a href="#3196" id="3196">3196</a>
+<a href="#3197" id="3197">3197</a>
+<a href="#3198" id="3198">3198</a>
+<a href="#3199" id="3199">3199</a>
+<a href="#3200" id="3200">3200</a>
+<a href="#3201" id="3201">3201</a>
+<a href="#3202" id="3202">3202</a>
+<a href="#3203" id="3203">3203</a>
+<a href="#3204" id="3204">3204</a>
+<a href="#3205" id="3205">3205</a>
+<a href="#3206" id="3206">3206</a>
+<a href="#3207" id="3207">3207</a>
+<a href="#3208" id="3208">3208</a>
+<a href="#3209" id="3209">3209</a>
+<a href="#3210" id="3210">3210</a>
+<a href="#3211" id="3211">3211</a>
+<a href="#3212" id="3212">3212</a>
+<a href="#3213" id="3213">3213</a>
+<a href="#3214" id="3214">3214</a>
+<a href="#3215" id="3215">3215</a>
+<a href="#3216" id="3216">3216</a>
+<a href="#3217" id="3217">3217</a>
+<a href="#3218" id="3218">3218</a>
+<a href="#3219" id="3219">3219</a>
+<a href="#3220" id="3220">3220</a>
+<a href="#3221" id="3221">3221</a>
+<a href="#3222" id="3222">3222</a>
+<a href="#3223" id="3223">3223</a>
+<a href="#3224" id="3224">3224</a>
+<a href="#3225" id="3225">3225</a>
+<a href="#3226" id="3226">3226</a>
+<a href="#3227" id="3227">3227</a>
+<a href="#3228" id="3228">3228</a>
+<a href="#3229" id="3229">3229</a>
+<a href="#3230" id="3230">3230</a>
+<a href="#3231" id="3231">3231</a>
+<a href="#3232" id="3232">3232</a>
+<a href="#3233" id="3233">3233</a>
+<a href="#3234" id="3234">3234</a>
+<a href="#3235" id="3235">3235</a>
+<a href="#3236" id="3236">3236</a>
+<a href="#3237" id="3237">3237</a>
+<a href="#3238" id="3238">3238</a>
+<a href="#3239" id="3239">3239</a>
+<a href="#3240" id="3240">3240</a>
+<a href="#3241" id="3241">3241</a>
+<a href="#3242" id="3242">3242</a>
+<a href="#3243" id="3243">3243</a>
+<a href="#3244" id="3244">3244</a>
+<a href="#3245" id="3245">3245</a>
+<a href="#3246" id="3246">3246</a>
+<a href="#3247" id="3247">3247</a>
+<a href="#3248" id="3248">3248</a>
+<a href="#3249" id="3249">3249</a>
+<a href="#3250" id="3250">3250</a>
+<a href="#3251" id="3251">3251</a>
+<a href="#3252" id="3252">3252</a>
+<a href="#3253" id="3253">3253</a>
+<a href="#3254" id="3254">3254</a>
+<a href="#3255" id="3255">3255</a>
+<a href="#3256" id="3256">3256</a>
+<a href="#3257" id="3257">3257</a>
+<a href="#3258" id="3258">3258</a>
+<a href="#3259" id="3259">3259</a>
+<a href="#3260" id="3260">3260</a>
+<a href="#3261" id="3261">3261</a>
+<a href="#3262" id="3262">3262</a>
+<a href="#3263" id="3263">3263</a>
+<a href="#3264" id="3264">3264</a>
+<a href="#3265" id="3265">3265</a>
+<a href="#3266" id="3266">3266</a>
+<a href="#3267" id="3267">3267</a>
+<a href="#3268" id="3268">3268</a>
+<a href="#3269" id="3269">3269</a>
+<a href="#3270" id="3270">3270</a>
+<a href="#3271" id="3271">3271</a>
+<a href="#3272" id="3272">3272</a>
+<a href="#3273" id="3273">3273</a>
+<a href="#3274" id="3274">3274</a>
+<a href="#3275" id="3275">3275</a>
+<a href="#3276" id="3276">3276</a>
+<a href="#3277" id="3277">3277</a>
+<a href="#3278" id="3278">3278</a>
+<a href="#3279" id="3279">3279</a>
+<a href="#3280" id="3280">3280</a>
+<a href="#3281" id="3281">3281</a>
+<a href="#3282" id="3282">3282</a>
+<a href="#3283" id="3283">3283</a>
+<a href="#3284" id="3284">3284</a>
+<a href="#3285" id="3285">3285</a>
+<a href="#3286" id="3286">3286</a>
+<a href="#3287" id="3287">3287</a>
+<a href="#3288" id="3288">3288</a>
+<a href="#3289" id="3289">3289</a>
+<a href="#3290" id="3290">3290</a>
+<a href="#3291" id="3291">3291</a>
+<a href="#3292" id="3292">3292</a>
+<a href="#3293" id="3293">3293</a>
+<a href="#3294" id="3294">3294</a>
+<a href="#3295" id="3295">3295</a>
+<a href="#3296" id="3296">3296</a>
+<a href="#3297" id="3297">3297</a>
+<a href="#3298" id="3298">3298</a>
+<a href="#3299" id="3299">3299</a>
+<a href="#3300" id="3300">3300</a>
+<a href="#3301" id="3301">3301</a>
+<a href="#3302" id="3302">3302</a>
+<a href="#3303" id="3303">3303</a>
+<a href="#3304" id="3304">3304</a>
+<a href="#3305" id="3305">3305</a>
+<a href="#3306" id="3306">3306</a>
+<a href="#3307" id="3307">3307</a>
+<a href="#3308" id="3308">3308</a>
+<a href="#3309" id="3309">3309</a>
+<a href="#3310" id="3310">3310</a>
+<a href="#3311" id="3311">3311</a>
+<a href="#3312" id="3312">3312</a>
+<a href="#3313" id="3313">3313</a>
+<a href="#3314" id="3314">3314</a>
+<a href="#3315" id="3315">3315</a>
+<a href="#3316" id="3316">3316</a>
+<a href="#3317" id="3317">3317</a>
+<a href="#3318" id="3318">3318</a>
+<a href="#3319" id="3319">3319</a>
+<a href="#3320" id="3320">3320</a>
+<a href="#3321" id="3321">3321</a>
+<a href="#3322" id="3322">3322</a>
+<a href="#3323" id="3323">3323</a>
+<a href="#3324" id="3324">3324</a>
+<a href="#3325" id="3325">3325</a>
+<a href="#3326" id="3326">3326</a>
+<a href="#3327" id="3327">3327</a>
+<a href="#3328" id="3328">3328</a>
+<a href="#3329" id="3329">3329</a>
+<a href="#3330" id="3330">3330</a>
+<a href="#3331" id="3331">3331</a>
+<a href="#3332" id="3332">3332</a>
+<a href="#3333" id="3333">3333</a>
+<a href="#3334" id="3334">3334</a>
+<a href="#3335" id="3335">3335</a>
+<a href="#3336" id="3336">3336</a>
+<a href="#3337" id="3337">3337</a>
+<a href="#3338" id="3338">3338</a>
+<a href="#3339" id="3339">3339</a>
+<a href="#3340" id="3340">3340</a>
+<a href="#3341" id="3341">3341</a>
+<a href="#3342" id="3342">3342</a>
+<a href="#3343" id="3343">3343</a>
+<a href="#3344" id="3344">3344</a>
+<a href="#3345" id="3345">3345</a>
+<a href="#3346" id="3346">3346</a>
+<a href="#3347" id="3347">3347</a>
+<a href="#3348" id="3348">3348</a>
+<a href="#3349" id="3349">3349</a>
+<a href="#3350" id="3350">3350</a>
+<a href="#3351" id="3351">3351</a>
+<a href="#3352" id="3352">3352</a>
+<a href="#3353" id="3353">3353</a>
+<a href="#3354" id="3354">3354</a>
+<a href="#3355" id="3355">3355</a>
+<a href="#3356" id="3356">3356</a>
+<a href="#3357" id="3357">3357</a>
+<a href="#3358" id="3358">3358</a>
+<a href="#3359" id="3359">3359</a>
+<a href="#3360" id="3360">3360</a>
+<a href="#3361" id="3361">3361</a>
+<a href="#3362" id="3362">3362</a>
+<a href="#3363" id="3363">3363</a>
+<a href="#3364" id="3364">3364</a>
+<a href="#3365" id="3365">3365</a>
+<a href="#3366" id="3366">3366</a>
+<a href="#3367" id="3367">3367</a>
+<a href="#3368" id="3368">3368</a>
+<a href="#3369" id="3369">3369</a>
+<a href="#3370" id="3370">3370</a>
+<a href="#3371" id="3371">3371</a>
+<a href="#3372" id="3372">3372</a>
+<a href="#3373" id="3373">3373</a>
+<a href="#3374" id="3374">3374</a>
+<a href="#3375" id="3375">3375</a>
+<a href="#3376" id="3376">3376</a>
+<a href="#3377" id="3377">3377</a>
+<a href="#3378" id="3378">3378</a>
+<a href="#3379" id="3379">3379</a>
+<a href="#3380" id="3380">3380</a>
+<a href="#3381" id="3381">3381</a>
+<a href="#3382" id="3382">3382</a>
+<a href="#3383" id="3383">3383</a>
+<a href="#3384" id="3384">3384</a>
+<a href="#3385" id="3385">3385</a>
+<a href="#3386" id="3386">3386</a>
+<a href="#3387" id="3387">3387</a>
+<a href="#3388" id="3388">3388</a>
+<a href="#3389" id="3389">3389</a>
+<a href="#3390" id="3390">3390</a>
+<a href="#3391" id="3391">3391</a>
+<a href="#3392" id="3392">3392</a>
+<a href="#3393" id="3393">3393</a>
+<a href="#3394" id="3394">3394</a>
+<a href="#3395" id="3395">3395</a>
+<a href="#3396" id="3396">3396</a>
+<a href="#3397" id="3397">3397</a>
+<a href="#3398" id="3398">3398</a>
+<a href="#3399" id="3399">3399</a>
+<a href="#3400" id="3400">3400</a>
+<a href="#3401" id="3401">3401</a>
+<a href="#3402" id="3402">3402</a>
+<a href="#3403" id="3403">3403</a>
+<a href="#3404" id="3404">3404</a>
+<a href="#3405" id="3405">3405</a>
+<a href="#3406" id="3406">3406</a>
+<a href="#3407" id="3407">3407</a>
+<a href="#3408" id="3408">3408</a>
+<a href="#3409" id="3409">3409</a>
+<a href="#3410" id="3410">3410</a>
+<a href="#3411" id="3411">3411</a>
+<a href="#3412" id="3412">3412</a>
+<a href="#3413" id="3413">3413</a>
+<a href="#3414" id="3414">3414</a>
+<a href="#3415" id="3415">3415</a>
+<a href="#3416" id="3416">3416</a>
+<a href="#3417" id="3417">3417</a>
+<a href="#3418" id="3418">3418</a>
+<a href="#3419" id="3419">3419</a>
+<a href="#3420" id="3420">3420</a>
+<a href="#3421" id="3421">3421</a>
+<a href="#3422" id="3422">3422</a>
+<a href="#3423" id="3423">3423</a>
+<a href="#3424" id="3424">3424</a>
+<a href="#3425" id="3425">3425</a>
+<a href="#3426" id="3426">3426</a>
+<a href="#3427" id="3427">3427</a>
+<a href="#3428" id="3428">3428</a>
+<a href="#3429" id="3429">3429</a>
+<a href="#3430" id="3430">3430</a>
+<a href="#3431" id="3431">3431</a>
+<a href="#3432" id="3432">3432</a>
+<a href="#3433" id="3433">3433</a>
+<a href="#3434" id="3434">3434</a>
+<a href="#3435" id="3435">3435</a>
+<a href="#3436" id="3436">3436</a>
+<a href="#3437" id="3437">3437</a>
+<a href="#3438" id="3438">3438</a>
+<a href="#3439" id="3439">3439</a>
+<a href="#3440" id="3440">3440</a>
+<a href="#3441" id="3441">3441</a>
+<a href="#3442" id="3442">3442</a>
+<a href="#3443" id="3443">3443</a>
+<a href="#3444" id="3444">3444</a>
+<a href="#3445" id="3445">3445</a>
+<a href="#3446" id="3446">3446</a>
+<a href="#3447" id="3447">3447</a>
+<a href="#3448" id="3448">3448</a>
+<a href="#3449" id="3449">3449</a>
+<a href="#3450" id="3450">3450</a>
+<a href="#3451" id="3451">3451</a>
+<a href="#3452" id="3452">3452</a>
+<a href="#3453" id="3453">3453</a>
+<a href="#3454" id="3454">3454</a>
+<a href="#3455" id="3455">3455</a>
+<a href="#3456" id="3456">3456</a>
+<a href="#3457" id="3457">3457</a>
+<a href="#3458" id="3458">3458</a>
+<a href="#3459" id="3459">3459</a>
+<a href="#3460" id="3460">3460</a>
+<a href="#3461" id="3461">3461</a>
+<a href="#3462" id="3462">3462</a>
+<a href="#3463" id="3463">3463</a>
+<a href="#3464" id="3464">3464</a>
+<a href="#3465" id="3465">3465</a>
+<a href="#3466" id="3466">3466</a>
+<a href="#3467" id="3467">3467</a>
+<a href="#3468" id="3468">3468</a>
+<a href="#3469" id="3469">3469</a>
+<a href="#3470" id="3470">3470</a>
+<a href="#3471" id="3471">3471</a>
+<a href="#3472" id="3472">3472</a>
+<a href="#3473" id="3473">3473</a>
+<a href="#3474" id="3474">3474</a>
+<a href="#3475" id="3475">3475</a>
+<a href="#3476" id="3476">3476</a>
+<a href="#3477" id="3477">3477</a>
+<a href="#3478" id="3478">3478</a>
+<a href="#3479" id="3479">3479</a>
+<a href="#3480" id="3480">3480</a>
+<a href="#3481" id="3481">3481</a>
+<a href="#3482" id="3482">3482</a>
+<a href="#3483" id="3483">3483</a>
+<a href="#3484" id="3484">3484</a>
+<a href="#3485" id="3485">3485</a>
+<a href="#3486" id="3486">3486</a>
+<a href="#3487" id="3487">3487</a>
+<a href="#3488" id="3488">3488</a>
+<a href="#3489" id="3489">3489</a>
+<a href="#3490" id="3490">3490</a>
+<a href="#3491" id="3491">3491</a>
+<a href="#3492" id="3492">3492</a>
+<a href="#3493" id="3493">3493</a>
+<a href="#3494" id="3494">3494</a>
+<a href="#3495" id="3495">3495</a>
+<a href="#3496" id="3496">3496</a>
+<a href="#3497" id="3497">3497</a>
+<a href="#3498" id="3498">3498</a>
+<a href="#3499" id="3499">3499</a>
+<a href="#3500" id="3500">3500</a>
+<a href="#3501" id="3501">3501</a>
+<a href="#3502" id="3502">3502</a>
+<a href="#3503" id="3503">3503</a>
+<a href="#3504" id="3504">3504</a>
+<a href="#3505" id="3505">3505</a>
+<a href="#3506" id="3506">3506</a>
+<a href="#3507" id="3507">3507</a>
+<a href="#3508" id="3508">3508</a>
+<a href="#3509" id="3509">3509</a>
+<a href="#3510" id="3510">3510</a>
+<a href="#3511" id="3511">3511</a>
+<a href="#3512" id="3512">3512</a>
+<a href="#3513" id="3513">3513</a>
+<a href="#3514" id="3514">3514</a>
+<a href="#3515" id="3515">3515</a>
+<a href="#3516" id="3516">3516</a>
+<a href="#3517" id="3517">3517</a>
+<a href="#3518" id="3518">3518</a>
+<a href="#3519" id="3519">3519</a>
+<a href="#3520" id="3520">3520</a>
+<a href="#3521" id="3521">3521</a>
+<a href="#3522" id="3522">3522</a>
+<a href="#3523" id="3523">3523</a>
+<a href="#3524" id="3524">3524</a>
+<a href="#3525" id="3525">3525</a>
+<a href="#3526" id="3526">3526</a>
+<a href="#3527" id="3527">3527</a>
+<a href="#3528" id="3528">3528</a>
+<a href="#3529" id="3529">3529</a>
+<a href="#3530" id="3530">3530</a>
+<a href="#3531" id="3531">3531</a>
+<a href="#3532" id="3532">3532</a>
+<a href="#3533" id="3533">3533</a>
+<a href="#3534" id="3534">3534</a>
+<a href="#3535" id="3535">3535</a>
+<a href="#3536" id="3536">3536</a>
+<a href="#3537" id="3537">3537</a>
+<a href="#3538" id="3538">3538</a>
+<a href="#3539" id="3539">3539</a>
+<a href="#3540" id="3540">3540</a>
+<a href="#3541" id="3541">3541</a>
+<a href="#3542" id="3542">3542</a>
+<a href="#3543" id="3543">3543</a>
+<a href="#3544" id="3544">3544</a>
+<a href="#3545" id="3545">3545</a>
+<a href="#3546" id="3546">3546</a>
+<a href="#3547" id="3547">3547</a>
+<a href="#3548" id="3548">3548</a>
+<a href="#3549" id="3549">3549</a>
+<a href="#3550" id="3550">3550</a>
+<a href="#3551" id="3551">3551</a>
+<a href="#3552" id="3552">3552</a>
+<a href="#3553" id="3553">3553</a>
+<a href="#3554" id="3554">3554</a>
+<a href="#3555" id="3555">3555</a>
+<a href="#3556" id="3556">3556</a>
+<a href="#3557" id="3557">3557</a>
+<a href="#3558" id="3558">3558</a>
+<a href="#3559" id="3559">3559</a>
+<a href="#3560" id="3560">3560</a>
+<a href="#3561" id="3561">3561</a>
+<a href="#3562" id="3562">3562</a>
+<a href="#3563" id="3563">3563</a>
+<a href="#3564" id="3564">3564</a>
+<a href="#3565" id="3565">3565</a>
+<a href="#3566" id="3566">3566</a>
+<a href="#3567" id="3567">3567</a>
+<a href="#3568" id="3568">3568</a>
+<a href="#3569" id="3569">3569</a>
+<a href="#3570" id="3570">3570</a>
+<a href="#3571" id="3571">3571</a>
+<a href="#3572" id="3572">3572</a>
+<a href="#3573" id="3573">3573</a>
+<a href="#3574" id="3574">3574</a>
+<a href="#3575" id="3575">3575</a>
+<a href="#3576" id="3576">3576</a>
+<a href="#3577" id="3577">3577</a>
+<a href="#3578" id="3578">3578</a>
+<a href="#3579" id="3579">3579</a>
+<a href="#3580" id="3580">3580</a>
+<a href="#3581" id="3581">3581</a>
+<a href="#3582" id="3582">3582</a>
+<a href="#3583" id="3583">3583</a>
+<a href="#3584" id="3584">3584</a>
+<a href="#3585" id="3585">3585</a>
+<a href="#3586" id="3586">3586</a>
+<a href="#3587" id="3587">3587</a>
+<a href="#3588" id="3588">3588</a>
+<a href="#3589" id="3589">3589</a>
+<a href="#3590" id="3590">3590</a>
+<a href="#3591" id="3591">3591</a>
+<a href="#3592" id="3592">3592</a>
+<a href="#3593" id="3593">3593</a>
+<a href="#3594" id="3594">3594</a>
+<a href="#3595" id="3595">3595</a>
+<a href="#3596" id="3596">3596</a>
+<a href="#3597" id="3597">3597</a>
+<a href="#3598" id="3598">3598</a>
+<a href="#3599" id="3599">3599</a>
+<a href="#3600" id="3600">3600</a>
+<a href="#3601" id="3601">3601</a>
+<a href="#3602" id="3602">3602</a>
+<a href="#3603" id="3603">3603</a>
+<a href="#3604" id="3604">3604</a>
+<a href="#3605" id="3605">3605</a>
+<a href="#3606" id="3606">3606</a>
+<a href="#3607" id="3607">3607</a>
+<a href="#3608" id="3608">3608</a>
+<a href="#3609" id="3609">3609</a>
+<a href="#3610" id="3610">3610</a>
+<a href="#3611" id="3611">3611</a>
+<a href="#3612" id="3612">3612</a>
+<a href="#3613" id="3613">3613</a>
+<a href="#3614" id="3614">3614</a>
+<a href="#3615" id="3615">3615</a>
+<a href="#3616" id="3616">3616</a>
+<a href="#3617" id="3617">3617</a>
+<a href="#3618" id="3618">3618</a>
+<a href="#3619" id="3619">3619</a>
+<a href="#3620" id="3620">3620</a>
+<a href="#3621" id="3621">3621</a>
+<a href="#3622" id="3622">3622</a>
+<a href="#3623" id="3623">3623</a>
+<a href="#3624" id="3624">3624</a>
+<a href="#3625" id="3625">3625</a>
+<a href="#3626" id="3626">3626</a>
+<a href="#3627" id="3627">3627</a>
+<a href="#3628" id="3628">3628</a>
+<a href="#3629" id="3629">3629</a>
+<a href="#3630" id="3630">3630</a>
+<a href="#3631" id="3631">3631</a>
+<a href="#3632" id="3632">3632</a>
+<a href="#3633" id="3633">3633</a>
+<a href="#3634" id="3634">3634</a>
+<a href="#3635" id="3635">3635</a>
+<a href="#3636" id="3636">3636</a>
+<a href="#3637" id="3637">3637</a>
+<a href="#3638" id="3638">3638</a>
+<a href="#3639" id="3639">3639</a>
+<a href="#3640" id="3640">3640</a>
+<a href="#3641" id="3641">3641</a>
+<a href="#3642" id="3642">3642</a>
+<a href="#3643" id="3643">3643</a>
+<a href="#3644" id="3644">3644</a>
+<a href="#3645" id="3645">3645</a>
+<a href="#3646" id="3646">3646</a>
+<a href="#3647" id="3647">3647</a>
+<a href="#3648" id="3648">3648</a>
+<a href="#3649" id="3649">3649</a>
+<a href="#3650" id="3650">3650</a>
+<a href="#3651" id="3651">3651</a>
+<a href="#3652" id="3652">3652</a>
+<a href="#3653" id="3653">3653</a>
+<a href="#3654" id="3654">3654</a>
+<a href="#3655" id="3655">3655</a>
+<a href="#3656" id="3656">3656</a>
+<a href="#3657" id="3657">3657</a>
+<a href="#3658" id="3658">3658</a>
+<a href="#3659" id="3659">3659</a>
+<a href="#3660" id="3660">3660</a>
+<a href="#3661" id="3661">3661</a>
+<a href="#3662" id="3662">3662</a>
+<a href="#3663" id="3663">3663</a>
+<a href="#3664" id="3664">3664</a>
+<a href="#3665" id="3665">3665</a>
+<a href="#3666" id="3666">3666</a>
+<a href="#3667" id="3667">3667</a>
+<a href="#3668" id="3668">3668</a>
+<a href="#3669" id="3669">3669</a>
+<a href="#3670" id="3670">3670</a>
+<a href="#3671" id="3671">3671</a>
+<a href="#3672" id="3672">3672</a>
+<a href="#3673" id="3673">3673</a>
+<a href="#3674" id="3674">3674</a>
+<a href="#3675" id="3675">3675</a>
+<a href="#3676" id="3676">3676</a>
+<a href="#3677" id="3677">3677</a>
+<a href="#3678" id="3678">3678</a>
+<a href="#3679" id="3679">3679</a>
+<a href="#3680" id="3680">3680</a>
+<a href="#3681" id="3681">3681</a>
+<a href="#3682" id="3682">3682</a>
+<a href="#3683" id="3683">3683</a>
+<a href="#3684" id="3684">3684</a>
+<a href="#3685" id="3685">3685</a>
+<a href="#3686" id="3686">3686</a>
+<a href="#3687" id="3687">3687</a>
+<a href="#3688" id="3688">3688</a>
+<a href="#3689" id="3689">3689</a>
+<a href="#3690" id="3690">3690</a>
+<a href="#3691" id="3691">3691</a>
+<a href="#3692" id="3692">3692</a>
+<a href="#3693" id="3693">3693</a>
+<a href="#3694" id="3694">3694</a>
+<a href="#3695" id="3695">3695</a>
+<a href="#3696" id="3696">3696</a>
+<a href="#3697" id="3697">3697</a>
+<a href="#3698" id="3698">3698</a>
+<a href="#3699" id="3699">3699</a>
+<a href="#3700" id="3700">3700</a>
+<a href="#3701" id="3701">3701</a>
+<a href="#3702" id="3702">3702</a>
+<a href="#3703" id="3703">3703</a>
+<a href="#3704" id="3704">3704</a>
+<a href="#3705" id="3705">3705</a>
+<a href="#3706" id="3706">3706</a>
+<a href="#3707" id="3707">3707</a>
+<a href="#3708" id="3708">3708</a>
+<a href="#3709" id="3709">3709</a>
+<a href="#3710" id="3710">3710</a>
+<a href="#3711" id="3711">3711</a>
+<a href="#3712" id="3712">3712</a>
+<a href="#3713" id="3713">3713</a>
+<a href="#3714" id="3714">3714</a>
+<a href="#3715" id="3715">3715</a>
+<a href="#3716" id="3716">3716</a>
+<a href="#3717" id="3717">3717</a>
+<a href="#3718" id="3718">3718</a>
+<a href="#3719" id="3719">3719</a>
+<a href="#3720" id="3720">3720</a>
+<a href="#3721" id="3721">3721</a>
+<a href="#3722" id="3722">3722</a>
+<a href="#3723" id="3723">3723</a>
+<a href="#3724" id="3724">3724</a>
+<a href="#3725" id="3725">3725</a>
+<a href="#3726" id="3726">3726</a>
+<a href="#3727" id="3727">3727</a>
+<a href="#3728" id="3728">3728</a>
+<a href="#3729" id="3729">3729</a>
+<a href="#3730" id="3730">3730</a>
+<a href="#3731" id="3731">3731</a>
+<a href="#3732" id="3732">3732</a>
+<a href="#3733" id="3733">3733</a>
+<a href="#3734" id="3734">3734</a>
+<a href="#3735" id="3735">3735</a>
+<a href="#3736" id="3736">3736</a>
+<a href="#3737" id="3737">3737</a>
+<a href="#3738" id="3738">3738</a>
+<a href="#3739" id="3739">3739</a>
+<a href="#3740" id="3740">3740</a>
+<a href="#3741" id="3741">3741</a>
+<a href="#3742" id="3742">3742</a>
+<a href="#3743" id="3743">3743</a>
+<a href="#3744" id="3744">3744</a>
+<a href="#3745" id="3745">3745</a>
+<a href="#3746" id="3746">3746</a>
+<a href="#3747" id="3747">3747</a>
+<a href="#3748" id="3748">3748</a>
+<a href="#3749" id="3749">3749</a>
+<a href="#3750" id="3750">3750</a>
+<a href="#3751" id="3751">3751</a>
+<a href="#3752" id="3752">3752</a>
+<a href="#3753" id="3753">3753</a>
+<a href="#3754" id="3754">3754</a>
+<a href="#3755" id="3755">3755</a>
+<a href="#3756" id="3756">3756</a>
+<a href="#3757" id="3757">3757</a>
+<a href="#3758" id="3758">3758</a>
+<a href="#3759" id="3759">3759</a>
+<a href="#3760" id="3760">3760</a>
+<a href="#3761" id="3761">3761</a>
+<a href="#3762" id="3762">3762</a>
+<a href="#3763" id="3763">3763</a>
+<a href="#3764" id="3764">3764</a>
+<a href="#3765" id="3765">3765</a>
+<a href="#3766" id="3766">3766</a>
+<a href="#3767" id="3767">3767</a>
+<a href="#3768" id="3768">3768</a>
+<a href="#3769" id="3769">3769</a>
+<a href="#3770" id="3770">3770</a>
+<a href="#3771" id="3771">3771</a>
+<a href="#3772" id="3772">3772</a>
+<a href="#3773" id="3773">3773</a>
+<a href="#3774" id="3774">3774</a>
+<a href="#3775" id="3775">3775</a>
+<a href="#3776" id="3776">3776</a>
+<a href="#3777" id="3777">3777</a>
+<a href="#3778" id="3778">3778</a>
+<a href="#3779" id="3779">3779</a>
+<a href="#3780" id="3780">3780</a>
+<a href="#3781" id="3781">3781</a>
+<a href="#3782" id="3782">3782</a>
+<a href="#3783" id="3783">3783</a>
+<a href="#3784" id="3784">3784</a>
+<a href="#3785" id="3785">3785</a>
+<a href="#3786" id="3786">3786</a>
+<a href="#3787" id="3787">3787</a>
+<a href="#3788" id="3788">3788</a>
+<a href="#3789" id="3789">3789</a>
+<a href="#3790" id="3790">3790</a>
+<a href="#3791" id="3791">3791</a>
+<a href="#3792" id="3792">3792</a>
+<a href="#3793" id="3793">3793</a>
+<a href="#3794" id="3794">3794</a>
+<a href="#3795" id="3795">3795</a>
+<a href="#3796" id="3796">3796</a>
+<a href="#3797" id="3797">3797</a>
+<a href="#3798" id="3798">3798</a>
+<a href="#3799" id="3799">3799</a>
+<a href="#3800" id="3800">3800</a>
+<a href="#3801" id="3801">3801</a>
+<a href="#3802" id="3802">3802</a>
+<a href="#3803" id="3803">3803</a>
+<a href="#3804" id="3804">3804</a>
+<a href="#3805" id="3805">3805</a>
+<a href="#3806" id="3806">3806</a>
+<a href="#3807" id="3807">3807</a>
+<a href="#3808" id="3808">3808</a>
+<a href="#3809" id="3809">3809</a>
+<a href="#3810" id="3810">3810</a>
+<a href="#3811" id="3811">3811</a>
+<a href="#3812" id="3812">3812</a>
+<a href="#3813" id="3813">3813</a>
+<a href="#3814" id="3814">3814</a>
+<a href="#3815" id="3815">3815</a>
+<a href="#3816" id="3816">3816</a>
+<a href="#3817" id="3817">3817</a>
+<a href="#3818" id="3818">3818</a>
+<a href="#3819" id="3819">3819</a>
+<a href="#3820" id="3820">3820</a>
+<a href="#3821" id="3821">3821</a>
+<a href="#3822" id="3822">3822</a>
+<a href="#3823" id="3823">3823</a>
+<a href="#3824" id="3824">3824</a>
+<a href="#3825" id="3825">3825</a>
+<a href="#3826" id="3826">3826</a>
+<a href="#3827" id="3827">3827</a>
+<a href="#3828" id="3828">3828</a>
+<a href="#3829" id="3829">3829</a>
+<a href="#3830" id="3830">3830</a>
+<a href="#3831" id="3831">3831</a>
+<a href="#3832" id="3832">3832</a>
+<a href="#3833" id="3833">3833</a>
+<a href="#3834" id="3834">3834</a>
+<a href="#3835" id="3835">3835</a>
+<a href="#3836" id="3836">3836</a>
+<a href="#3837" id="3837">3837</a>
+<a href="#3838" id="3838">3838</a>
+<a href="#3839" id="3839">3839</a>
+<a href="#3840" id="3840">3840</a>
+<a href="#3841" id="3841">3841</a>
+<a href="#3842" id="3842">3842</a>
+<a href="#3843" id="3843">3843</a>
+<a href="#3844" id="3844">3844</a>
+<a href="#3845" id="3845">3845</a>
+<a href="#3846" id="3846">3846</a>
+<a href="#3847" id="3847">3847</a>
+<a href="#3848" id="3848">3848</a>
+<a href="#3849" id="3849">3849</a>
+<a href="#3850" id="3850">3850</a>
+<a href="#3851" id="3851">3851</a>
+<a href="#3852" id="3852">3852</a>
+<a href="#3853" id="3853">3853</a>
+<a href="#3854" id="3854">3854</a>
+<a href="#3855" id="3855">3855</a>
+<a href="#3856" id="3856">3856</a>
+<a href="#3857" id="3857">3857</a>
+<a href="#3858" id="3858">3858</a>
+<a href="#3859" id="3859">3859</a>
+<a href="#3860" id="3860">3860</a>
+<a href="#3861" id="3861">3861</a>
+<a href="#3862" id="3862">3862</a>
+<a href="#3863" id="3863">3863</a>
+<a href="#3864" id="3864">3864</a>
+<a href="#3865" id="3865">3865</a>
+<a href="#3866" id="3866">3866</a>
+<a href="#3867" id="3867">3867</a>
+<a href="#3868" id="3868">3868</a>
+<a href="#3869" id="3869">3869</a>
+<a href="#3870" id="3870">3870</a>
+<a href="#3871" id="3871">3871</a>
+<a href="#3872" id="3872">3872</a>
+<a href="#3873" id="3873">3873</a>
+<a href="#3874" id="3874">3874</a>
+<a href="#3875" id="3875">3875</a>
+<a href="#3876" id="3876">3876</a>
+<a href="#3877" id="3877">3877</a>
+<a href="#3878" id="3878">3878</a>
+<a href="#3879" id="3879">3879</a>
+<a href="#3880" id="3880">3880</a>
+<a href="#3881" id="3881">3881</a>
+<a href="#3882" id="3882">3882</a>
+<a href="#3883" id="3883">3883</a>
+<a href="#3884" id="3884">3884</a>
+<a href="#3885" id="3885">3885</a>
+<a href="#3886" id="3886">3886</a>
+<a href="#3887" id="3887">3887</a>
+<a href="#3888" id="3888">3888</a>
+<a href="#3889" id="3889">3889</a>
+<a href="#3890" id="3890">3890</a>
+<a href="#3891" id="3891">3891</a>
+<a href="#3892" id="3892">3892</a>
+<a href="#3893" id="3893">3893</a>
+<a href="#3894" id="3894">3894</a>
+<a href="#3895" id="3895">3895</a>
+<a href="#3896" id="3896">3896</a>
+<a href="#3897" id="3897">3897</a>
+<a href="#3898" id="3898">3898</a>
+<a href="#3899" id="3899">3899</a>
+<a href="#3900" id="3900">3900</a>
+<a href="#3901" id="3901">3901</a>
+<a href="#3902" id="3902">3902</a>
+<a href="#3903" id="3903">3903</a>
+<a href="#3904" id="3904">3904</a>
+<a href="#3905" id="3905">3905</a>
+<a href="#3906" id="3906">3906</a>
+<a href="#3907" id="3907">3907</a>
+<a href="#3908" id="3908">3908</a>
+<a href="#3909" id="3909">3909</a>
+<a href="#3910" id="3910">3910</a>
+<a href="#3911" id="3911">3911</a>
+<a href="#3912" id="3912">3912</a>
+<a href="#3913" id="3913">3913</a>
+<a href="#3914" id="3914">3914</a>
+<a href="#3915" id="3915">3915</a>
+<a href="#3916" id="3916">3916</a>
+<a href="#3917" id="3917">3917</a>
+<a href="#3918" id="3918">3918</a>
+<a href="#3919" id="3919">3919</a>
+<a href="#3920" id="3920">3920</a>
+<a href="#3921" id="3921">3921</a>
+<a href="#3922" id="3922">3922</a>
+<a href="#3923" id="3923">3923</a>
+<a href="#3924" id="3924">3924</a>
+<a href="#3925" id="3925">3925</a>
+<a href="#3926" id="3926">3926</a>
+<a href="#3927" id="3927">3927</a>
+<a href="#3928" id="3928">3928</a>
+<a href="#3929" id="3929">3929</a>
+<a href="#3930" id="3930">3930</a>
+<a href="#3931" id="3931">3931</a>
+<a href="#3932" id="3932">3932</a>
+<a href="#3933" id="3933">3933</a>
+<a href="#3934" id="3934">3934</a>
+<a href="#3935" id="3935">3935</a>
+<a href="#3936" id="3936">3936</a>
+<a href="#3937" id="3937">3937</a>
+<a href="#3938" id="3938">3938</a>
+<a href="#3939" id="3939">3939</a>
+<a href="#3940" id="3940">3940</a>
+<a href="#3941" id="3941">3941</a>
+<a href="#3942" id="3942">3942</a>
+<a href="#3943" id="3943">3943</a>
+<a href="#3944" id="3944">3944</a>
+<a href="#3945" id="3945">3945</a>
+<a href="#3946" id="3946">3946</a>
+<a href="#3947" id="3947">3947</a>
+<a href="#3948" id="3948">3948</a>
+<a href="#3949" id="3949">3949</a>
+<a href="#3950" id="3950">3950</a>
+<a href="#3951" id="3951">3951</a>
+<a href="#3952" id="3952">3952</a>
+<a href="#3953" id="3953">3953</a>
+<a href="#3954" id="3954">3954</a>
+<a href="#3955" id="3955">3955</a>
+<a href="#3956" id="3956">3956</a>
+<a href="#3957" id="3957">3957</a>
+<a href="#3958" id="3958">3958</a>
+<a href="#3959" id="3959">3959</a>
+<a href="#3960" id="3960">3960</a>
+<a href="#3961" id="3961">3961</a>
+<a href="#3962" id="3962">3962</a>
+<a href="#3963" id="3963">3963</a>
+<a href="#3964" id="3964">3964</a>
+<a href="#3965" id="3965">3965</a>
+<a href="#3966" id="3966">3966</a>
+<a href="#3967" id="3967">3967</a>
+<a href="#3968" id="3968">3968</a>
+<a href="#3969" id="3969">3969</a>
+<a href="#3970" id="3970">3970</a>
+<a href="#3971" id="3971">3971</a>
+<a href="#3972" id="3972">3972</a>
+<a href="#3973" id="3973">3973</a>
+<a href="#3974" id="3974">3974</a>
+<a href="#3975" id="3975">3975</a>
+<a href="#3976" id="3976">3976</a>
+<a href="#3977" id="3977">3977</a>
+<a href="#3978" id="3978">3978</a>
+<a href="#3979" id="3979">3979</a>
+<a href="#3980" id="3980">3980</a>
+<a href="#3981" id="3981">3981</a>
+<a href="#3982" id="3982">3982</a>
+<a href="#3983" id="3983">3983</a>
+<a href="#3984" id="3984">3984</a>
+<a href="#3985" id="3985">3985</a>
+<a href="#3986" id="3986">3986</a>
+<a href="#3987" id="3987">3987</a>
+<a href="#3988" id="3988">3988</a>
+<a href="#3989" id="3989">3989</a>
+<a href="#3990" id="3990">3990</a>
+<a href="#3991" id="3991">3991</a>
+<a href="#3992" id="3992">3992</a>
+<a href="#3993" id="3993">3993</a>
+<a href="#3994" id="3994">3994</a>
+<a href="#3995" id="3995">3995</a>
+<a href="#3996" id="3996">3996</a>
+<a href="#3997" id="3997">3997</a>
+<a href="#3998" id="3998">3998</a>
+<a href="#3999" id="3999">3999</a>
+<a href="#4000" id="4000">4000</a>
+<a href="#4001" id="4001">4001</a>
+<a href="#4002" id="4002">4002</a>
+<a href="#4003" id="4003">4003</a>
+<a href="#4004" id="4004">4004</a>
+<a href="#4005" id="4005">4005</a>
+<a href="#4006" id="4006">4006</a>
+<a href="#4007" id="4007">4007</a>
+<a href="#4008" id="4008">4008</a>
+<a href="#4009" id="4009">4009</a>
+<a href="#4010" id="4010">4010</a>
+<a href="#4011" id="4011">4011</a>
+<a href="#4012" id="4012">4012</a>
+<a href="#4013" id="4013">4013</a>
+<a href="#4014" id="4014">4014</a>
+<a href="#4015" id="4015">4015</a>
+<a href="#4016" id="4016">4016</a>
+<a href="#4017" id="4017">4017</a>
+<a href="#4018" id="4018">4018</a>
+<a href="#4019" id="4019">4019</a>
+<a href="#4020" id="4020">4020</a>
+<a href="#4021" id="4021">4021</a>
+<a href="#4022" id="4022">4022</a>
+<a href="#4023" id="4023">4023</a>
+<a href="#4024" id="4024">4024</a>
+<a href="#4025" id="4025">4025</a>
+<a href="#4026" id="4026">4026</a>
+<a href="#4027" id="4027">4027</a>
+<a href="#4028" id="4028">4028</a>
+<a href="#4029" id="4029">4029</a>
+<a href="#4030" id="4030">4030</a>
+<a href="#4031" id="4031">4031</a>
+<a href="#4032" id="4032">4032</a>
+<a href="#4033" id="4033">4033</a>
+<a href="#4034" id="4034">4034</a>
+<a href="#4035" id="4035">4035</a>
+<a href="#4036" id="4036">4036</a>
+<a href="#4037" id="4037">4037</a>
+<a href="#4038" id="4038">4038</a>
+<a href="#4039" id="4039">4039</a>
+<a href="#4040" id="4040">4040</a>
+<a href="#4041" id="4041">4041</a>
+<a href="#4042" id="4042">4042</a>
+<a href="#4043" id="4043">4043</a>
+<a href="#4044" id="4044">4044</a>
+<a href="#4045" id="4045">4045</a>
+<a href="#4046" id="4046">4046</a>
+<a href="#4047" id="4047">4047</a>
+<a href="#4048" id="4048">4048</a>
+<a href="#4049" id="4049">4049</a>
+<a href="#4050" id="4050">4050</a>
+<a href="#4051" id="4051">4051</a>
+<a href="#4052" id="4052">4052</a>
+<a href="#4053" id="4053">4053</a>
+<a href="#4054" id="4054">4054</a>
+<a href="#4055" id="4055">4055</a>
+<a href="#4056" id="4056">4056</a>
+<a href="#4057" id="4057">4057</a>
+<a href="#4058" id="4058">4058</a>
+<a href="#4059" id="4059">4059</a>
+<a href="#4060" id="4060">4060</a>
+<a href="#4061" id="4061">4061</a>
+<a href="#4062" id="4062">4062</a>
+<a href="#4063" id="4063">4063</a>
+<a href="#4064" id="4064">4064</a>
+<a href="#4065" id="4065">4065</a>
+<a href="#4066" id="4066">4066</a>
+<a href="#4067" id="4067">4067</a>
+<a href="#4068" id="4068">4068</a>
+<a href="#4069" id="4069">4069</a>
+<a href="#4070" id="4070">4070</a>
+<a href="#4071" id="4071">4071</a>
+<a href="#4072" id="4072">4072</a>
+<a href="#4073" id="4073">4073</a>
+<a href="#4074" id="4074">4074</a>
+<a href="#4075" id="4075">4075</a>
+<a href="#4076" id="4076">4076</a>
+<a href="#4077" id="4077">4077</a>
+<a href="#4078" id="4078">4078</a>
+<a href="#4079" id="4079">4079</a>
+<a href="#4080" id="4080">4080</a>
+<a href="#4081" id="4081">4081</a>
+<a href="#4082" id="4082">4082</a>
+<a href="#4083" id="4083">4083</a>
+<a href="#4084" id="4084">4084</a>
+<a href="#4085" id="4085">4085</a>
+<a href="#4086" id="4086">4086</a>
+<a href="#4087" id="4087">4087</a>
+<a href="#4088" id="4088">4088</a>
+<a href="#4089" id="4089">4089</a>
+<a href="#4090" id="4090">4090</a>
+<a href="#4091" id="4091">4091</a>
+<a href="#4092" id="4092">4092</a>
+<a href="#4093" id="4093">4093</a>
+<a href="#4094" id="4094">4094</a>
+<a href="#4095" id="4095">4095</a>
+<a href="#4096" id="4096">4096</a>
+<a href="#4097" id="4097">4097</a>
+<a href="#4098" id="4098">4098</a>
+<a href="#4099" id="4099">4099</a>
+<a href="#4100" id="4100">4100</a>
+<a href="#4101" id="4101">4101</a>
+<a href="#4102" id="4102">4102</a>
+<a href="#4103" id="4103">4103</a>
+<a href="#4104" id="4104">4104</a>
+<a href="#4105" id="4105">4105</a>
+<a href="#4106" id="4106">4106</a>
+<a href="#4107" id="4107">4107</a>
+<a href="#4108" id="4108">4108</a>
+<a href="#4109" id="4109">4109</a>
+<a href="#4110" id="4110">4110</a>
+<a href="#4111" id="4111">4111</a>
+<a href="#4112" id="4112">4112</a>
+<a href="#4113" id="4113">4113</a>
+<a href="#4114" id="4114">4114</a>
+<a href="#4115" id="4115">4115</a>
+<a href="#4116" id="4116">4116</a>
+<a href="#4117" id="4117">4117</a>
+<a href="#4118" id="4118">4118</a>
+<a href="#4119" id="4119">4119</a>
+<a href="#4120" id="4120">4120</a>
+<a href="#4121" id="4121">4121</a>
+<a href="#4122" id="4122">4122</a>
+<a href="#4123" id="4123">4123</a>
+<a href="#4124" id="4124">4124</a>
+<a href="#4125" id="4125">4125</a>
+<a href="#4126" id="4126">4126</a>
+<a href="#4127" id="4127">4127</a>
+<a href="#4128" id="4128">4128</a>
+<a href="#4129" id="4129">4129</a>
+<a href="#4130" id="4130">4130</a>
+<a href="#4131" id="4131">4131</a>
+<a href="#4132" id="4132">4132</a>
+<a href="#4133" id="4133">4133</a>
+<a href="#4134" id="4134">4134</a>
+<a href="#4135" id="4135">4135</a>
+<a href="#4136" id="4136">4136</a>
+<a href="#4137" id="4137">4137</a>
+<a href="#4138" id="4138">4138</a>
+<a href="#4139" id="4139">4139</a>
+<a href="#4140" id="4140">4140</a>
+<a href="#4141" id="4141">4141</a>
+<a href="#4142" id="4142">4142</a>
+<a href="#4143" id="4143">4143</a>
+<a href="#4144" id="4144">4144</a>
+<a href="#4145" id="4145">4145</a>
+<a href="#4146" id="4146">4146</a>
+<a href="#4147" id="4147">4147</a>
+<a href="#4148" id="4148">4148</a>
+<a href="#4149" id="4149">4149</a>
+<a href="#4150" id="4150">4150</a>
+<a href="#4151" id="4151">4151</a>
+<a href="#4152" id="4152">4152</a>
+<a href="#4153" id="4153">4153</a>
+<a href="#4154" id="4154">4154</a>
+<a href="#4155" id="4155">4155</a>
+<a href="#4156" id="4156">4156</a>
+<a href="#4157" id="4157">4157</a>
+<a href="#4158" id="4158">4158</a>
+<a href="#4159" id="4159">4159</a>
+<a href="#4160" id="4160">4160</a>
+<a href="#4161" id="4161">4161</a>
+<a href="#4162" id="4162">4162</a>
+<a href="#4163" id="4163">4163</a>
+<a href="#4164" id="4164">4164</a>
+<a href="#4165" id="4165">4165</a>
+<a href="#4166" id="4166">4166</a>
+<a href="#4167" id="4167">4167</a>
+<a href="#4168" id="4168">4168</a>
+<a href="#4169" id="4169">4169</a>
+<a href="#4170" id="4170">4170</a>
+</pre></div><pre class="rust"><code><span class="comment">/*
+ * Created using https://github.com/a2x/cs2-dumper
+ * Sat, 30 Dec 2023 03:17:26 +0000
+ */
+
+</span><span class="attr">#![allow(non_snake_case, non_upper_case_globals)]
+
+</span><span class="kw">pub mod </span>ActiveModelConfig_t {
+    <span class="kw">pub const </span>m_Handle: usize = <span class="number">0x28</span>; <span class="comment">// ModelConfigHandle_t
+    </span><span class="kw">pub const </span>m_Name: usize = <span class="number">0x30</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_AssociatedEntities: usize = <span class="number">0x38</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseModelEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_AssociatedEntityNames: usize = <span class="number">0x50</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlSymbolLarge&gt;
+</span>}
+
+<span class="kw">pub mod </span>CAnimGraphNetworkedVariables {
+    <span class="kw">pub const </span>m_PredNetBoolVariables: usize = <span class="number">0x8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint32_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetByteVariables: usize = <span class="number">0x20</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint8_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetUInt16Variables: usize = <span class="number">0x38</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint16_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetIntVariables: usize = <span class="number">0x50</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetUInt32Variables: usize = <span class="number">0x68</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint32_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetUInt64Variables: usize = <span class="number">0x80</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint64_t&gt;
+    </span><span class="kw">pub const </span>m_PredNetFloatVariables: usize = <span class="number">0x98</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;float&gt;
+    </span><span class="kw">pub const </span>m_PredNetVectorVariables: usize = <span class="number">0xB0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_PredNetQuaternionVariables: usize = <span class="number">0xC8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Quaternion&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetBoolVariables: usize = <span class="number">0xE0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint32_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetByteVariables: usize = <span class="number">0xF8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint8_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetUInt16Variables: usize = <span class="number">0x110</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint16_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetIntVariables: usize = <span class="number">0x128</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetUInt32Variables: usize = <span class="number">0x140</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint32_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetUInt64Variables: usize = <span class="number">0x158</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;uint64_t&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetFloatVariables: usize = <span class="number">0x170</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;float&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetVectorVariables: usize = <span class="number">0x188</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_OwnerOnlyPredNetQuaternionVariables: usize = <span class="number">0x1A0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Quaternion&gt;
+    </span><span class="kw">pub const </span>m_nBoolVariablesCount: usize = <span class="number">0x1B8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nOwnerOnlyBoolVariablesCount: usize = <span class="number">0x1BC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRandomSeedOffset: usize = <span class="number">0x1C0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flLastTeleportTime: usize = <span class="number">0x1C4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CAttributeList {
+    <span class="kw">pub const </span>m_Attributes: usize = <span class="number">0x8</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;CEconItemAttribute&gt;
+    </span><span class="kw">pub const </span>m_pManager: usize = <span class="number">0x58</span>; <span class="comment">// CAttributeManager*
+</span>}
+
+<span class="kw">pub mod </span>CAttributeManager {
+    <span class="kw">pub const </span>m_Providers: usize = <span class="number">0x8</span>; <span class="comment">// CUtlVector&lt;CHandle&lt;C_BaseEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_iReapplyProvisionParity: usize = <span class="number">0x20</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hOuter: usize = <span class="number">0x24</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bPreventLoopback: usize = <span class="number">0x28</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_ProviderType: usize = <span class="number">0x2C</span>; <span class="comment">// attributeprovidertypes_t
+    </span><span class="kw">pub const </span>m_CachedResults: usize = <span class="number">0x30</span>; <span class="comment">// CUtlVector&lt;CAttributeManager::cached_attribute_float_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CAttributeManager_cached_attribute_float_t {
+    <span class="kw">pub const </span>flIn: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>iAttribHook: usize = <span class="number">0x8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>flOut: usize = <span class="number">0x10</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CBaseAnimGraph { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_bInitiallyPopulateInterpHistory: usize = <span class="number">0xCC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bShouldAnimateDuringGameplayPause: usize = <span class="number">0xCC1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSuppressAnimEventSounds: usize = <span class="number">0xCC3</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAnimGraphUpdateEnabled: usize = <span class="number">0xCD0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flMaxSlopeDistance: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vLastSlopeCheckPos: usize = <span class="number">0xCD8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecForce: usize = <span class="number">0xCE8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nForceBone: usize = <span class="number">0xCF4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_pClientsideRagdoll: usize = <span class="number">0xCF8</span>; <span class="comment">// CBaseAnimGraph*
+    </span><span class="kw">pub const </span>m_bBuiltRagdoll: usize = <span class="number">0xD00</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pRagdollPose: usize = <span class="number">0xD18</span>; <span class="comment">// PhysicsRagdollPose_t*
+    </span><span class="kw">pub const </span>m_bClientRagdoll: usize = <span class="number">0xD20</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasAnimatedMaterialAttributes: usize = <span class="number">0xD30</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CBaseAnimGraphController { <span class="comment">// CSkeletonAnimationController
+    </span><span class="kw">pub const </span>m_baseLayer: usize = <span class="number">0x18</span>; <span class="comment">// CNetworkedSequenceOperation
+    </span><span class="kw">pub const </span>m_animGraphNetworkedVars: usize = <span class="number">0x40</span>; <span class="comment">// CAnimGraphNetworkedVariables
+    </span><span class="kw">pub const </span>m_bSequenceFinished: usize = <span class="number">0x1320</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLastEventCycle: usize = <span class="number">0x1324</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLastEventAnimTime: usize = <span class="number">0x1328</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPlaybackRate: usize = <span class="number">0x132C</span>; <span class="comment">// CNetworkedQuantizedFloat
+    </span><span class="kw">pub const </span>m_flPrevAnimTime: usize = <span class="number">0x1334</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bClientSideAnimation: usize = <span class="number">0x1338</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNetworkedAnimationInputsChanged: usize = <span class="number">0x1339</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nPrevNewSequenceParity: usize = <span class="number">0x133A</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nPrevResetEventsParity: usize = <span class="number">0x133B</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nNewSequenceParity: usize = <span class="number">0x133C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nResetEventsParity: usize = <span class="number">0x1340</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nAnimLoopMode: usize = <span class="number">0x1344</span>; <span class="comment">// AnimLoopMode_t
+    </span><span class="kw">pub const </span>m_hAnimationUpdate: usize = <span class="number">0x13E4</span>; <span class="comment">// AnimationUpdateListHandle_t
+    </span><span class="kw">pub const </span>m_hLastAnimEventSequence: usize = <span class="number">0x13E8</span>; <span class="comment">// HSequence
+</span>}
+
+<span class="kw">pub mod </span>CBasePlayerController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_nFinalPredictedTick: usize = <span class="number">0x548</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_CommandContext: usize = <span class="number">0x550</span>; <span class="comment">// C_CommandContext
+    </span><span class="kw">pub const </span>m_nInButtonsWhichAreToggles: usize = <span class="number">0x600</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nTickBase: usize = <span class="number">0x608</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_hPawn: usize = <span class="number">0x60C</span>; <span class="comment">// CHandle&lt;C_BasePlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_hPredictedPawn: usize = <span class="number">0x610</span>; <span class="comment">// CHandle&lt;C_BasePlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_nSplitScreenSlot: usize = <span class="number">0x614</span>; <span class="comment">// CSplitScreenSlot
+    </span><span class="kw">pub const </span>m_hSplitOwner: usize = <span class="number">0x618</span>; <span class="comment">// CHandle&lt;CBasePlayerController&gt;
+    </span><span class="kw">pub const </span>m_hSplitScreenPlayers: usize = <span class="number">0x620</span>; <span class="comment">// CUtlVector&lt;CHandle&lt;CBasePlayerController&gt;&gt;
+    </span><span class="kw">pub const </span>m_bIsHLTV: usize = <span class="number">0x638</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iConnected: usize = <span class="number">0x63C</span>; <span class="comment">// PlayerConnectedState
+    </span><span class="kw">pub const </span>m_iszPlayerName: usize = <span class="number">0x640</span>; <span class="comment">// char[128]
+    </span><span class="kw">pub const </span>m_steamID: usize = <span class="number">0x6C8</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_bIsLocalPlayerController: usize = <span class="number">0x6D0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iDesiredFOV: usize = <span class="number">0x6D4</span>; <span class="comment">// uint32_t
+</span>}
+
+<span class="kw">pub mod </span>CBasePlayerVData { <span class="comment">// CEntitySubclassVDataBase
+    </span><span class="kw">pub const </span>m_sModelName: usize = <span class="number">0x28</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_flHeadDamageMultiplier: usize = <span class="number">0x108</span>; <span class="comment">// CSkillFloat
+    </span><span class="kw">pub const </span>m_flChestDamageMultiplier: usize = <span class="number">0x118</span>; <span class="comment">// CSkillFloat
+    </span><span class="kw">pub const </span>m_flStomachDamageMultiplier: usize = <span class="number">0x128</span>; <span class="comment">// CSkillFloat
+    </span><span class="kw">pub const </span>m_flArmDamageMultiplier: usize = <span class="number">0x138</span>; <span class="comment">// CSkillFloat
+    </span><span class="kw">pub const </span>m_flLegDamageMultiplier: usize = <span class="number">0x148</span>; <span class="comment">// CSkillFloat
+    </span><span class="kw">pub const </span>m_flHoldBreathTime: usize = <span class="number">0x158</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDrowningDamageInterval: usize = <span class="number">0x15C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nDrowningDamageInitial: usize = <span class="number">0x160</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nDrowningDamageMax: usize = <span class="number">0x164</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nWaterSpeed: usize = <span class="number">0x168</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flUseRange: usize = <span class="number">0x16C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flUseAngleTolerance: usize = <span class="number">0x170</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCrouchTime: usize = <span class="number">0x174</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CBasePlayerWeaponVData { <span class="comment">// CEntitySubclassVDataBase
+    </span><span class="kw">pub const </span>m_szWorldModel: usize = <span class="number">0x28</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_bBuiltRightHanded: usize = <span class="number">0x108</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAllowFlipping: usize = <span class="number">0x109</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsFullAuto: usize = <span class="number">0x10A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nNumBullets: usize = <span class="number">0x10C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_sMuzzleAttachment: usize = <span class="number">0x110</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_szMuzzleFlashParticle: usize = <span class="number">0x118</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_iFlags: usize = <span class="number">0x1F8</span>; <span class="comment">// ItemFlagTypes_t
+    </span><span class="kw">pub const </span>m_nPrimaryAmmoType: usize = <span class="number">0x1F9</span>; <span class="comment">// AmmoIndex_t
+    </span><span class="kw">pub const </span>m_nSecondaryAmmoType: usize = <span class="number">0x1FA</span>; <span class="comment">// AmmoIndex_t
+    </span><span class="kw">pub const </span>m_iMaxClip1: usize = <span class="number">0x1FC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iMaxClip2: usize = <span class="number">0x200</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iDefaultClip1: usize = <span class="number">0x204</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iDefaultClip2: usize = <span class="number">0x208</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iWeight: usize = <span class="number">0x20C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAutoSwitchTo: usize = <span class="number">0x210</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAutoSwitchFrom: usize = <span class="number">0x211</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iRumbleEffect: usize = <span class="number">0x214</span>; <span class="comment">// RumbleEffect_t
+    </span><span class="kw">pub const </span>m_aShootSounds: usize = <span class="number">0x218</span>; <span class="comment">// CUtlMap&lt;WeaponSound_t,CSoundEventName&gt;
+    </span><span class="kw">pub const </span>m_iSlot: usize = <span class="number">0x238</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iPosition: usize = <span class="number">0x23C</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CBaseProp { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_bModelOverrodeBlockLOS: usize = <span class="number">0xE80</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iShapeType: usize = <span class="number">0xE84</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bConformToCollisionBounds: usize = <span class="number">0xE88</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_mPreferredCatchTransform: usize = <span class="number">0xE8C</span>; <span class="comment">// matrix3x4_t
+</span>}
+
+<span class="kw">pub mod </span>CBodyComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>m_pSceneNode: usize = <span class="number">0x8</span>; <span class="comment">// CGameSceneNode*
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x20</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CBodyComponentBaseAnimGraph { <span class="comment">// CBodyComponentSkeletonInstance
+    </span><span class="kw">pub const </span>m_animationController: usize = <span class="number">0x480</span>; <span class="comment">// CBaseAnimGraphController
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x18C0</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CBodyComponentBaseModelEntity { <span class="comment">// CBodyComponentSkeletonInstance
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x480</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CBodyComponentPoint { <span class="comment">// CBodyComponent
+    </span><span class="kw">pub const </span>m_sceneNode: usize = <span class="number">0x50</span>; <span class="comment">// CGameSceneNode
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x1A0</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CBodyComponentSkeletonInstance { <span class="comment">// CBodyComponent
+    </span><span class="kw">pub const </span>m_skeletonInstance: usize = <span class="number">0x50</span>; <span class="comment">// CSkeletonInstance
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x450</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CBombTarget { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_bBombPlantedHere: usize = <span class="number">0xCC8</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CBreachCharge { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>CBreachChargeProjectile { <span class="comment">// C_BaseGrenade
+</span>}
+
+<span class="kw">pub mod </span>CBumpMine { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>CBumpMineProjectile { <span class="comment">// C_BaseGrenade
+</span>}
+
+<span class="kw">pub mod </span>CBuoyancyHelper {
+    <span class="kw">pub const </span>m_flFluidDensity: usize = <span class="number">0x18</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCSGO_WingmanIntroCharacterPosition { <span class="comment">// C_CSGO_TeamIntroCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>CCSGO_WingmanIntroCounterTerroristPosition { <span class="comment">// CCSGO_WingmanIntroCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>CCSGO_WingmanIntroTerroristPosition { <span class="comment">// CCSGO_WingmanIntroCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>CCSGameModeRules {
+    <span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x8</span>; <span class="comment">// CNetworkVarChainer
+</span>}
+
+<span class="kw">pub mod </span>CCSGameModeRules_Deathmatch { <span class="comment">// CCSGameModeRules
+    </span><span class="kw">pub const </span>m_bFirstThink: usize = <span class="number">0x30</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFirstThinkAfterConnected: usize = <span class="number">0x31</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDMBonusStartTime: usize = <span class="number">0x34</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flDMBonusTimeLength: usize = <span class="number">0x38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nDMBonusWeaponLoadoutSlot: usize = <span class="number">0x3C</span>; <span class="comment">// int16_t
+</span>}
+
+<span class="kw">pub mod </span>CCSGameModeRules_Noop { <span class="comment">// CCSGameModeRules
+</span>}
+
+<span class="kw">pub mod </span>CCSGameModeRules_Scripted { <span class="comment">// CCSGameModeRules
+</span>}
+
+<span class="kw">pub mod </span>CCSGameModeScript { <span class="comment">// CBasePulseGraphInstance
+</span>}
+
+<span class="kw">pub mod </span>CCSObserver_CameraServices { <span class="comment">// CCSPlayerBase_CameraServices
+</span>}
+
+<span class="kw">pub mod </span>CCSObserver_MovementServices { <span class="comment">// CPlayer_MovementServices
+</span>}
+
+<span class="kw">pub mod </span>CCSObserver_ObserverServices { <span class="comment">// CPlayer_ObserverServices
+    </span><span class="kw">pub const </span>m_hLastObserverTarget: usize = <span class="number">0x58</span>; <span class="comment">// CEntityHandle
+    </span><span class="kw">pub const </span>m_vecObserverInterpolateOffset: usize = <span class="number">0x5C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecObserverInterpStartPos: usize = <span class="number">0x68</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flObsInterp_PathLength: usize = <span class="number">0x74</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_qObsInterp_OrientationStart: usize = <span class="number">0x80</span>; <span class="comment">// Quaternion
+    </span><span class="kw">pub const </span>m_qObsInterp_OrientationTravelDir: usize = <span class="number">0x90</span>; <span class="comment">// Quaternion
+    </span><span class="kw">pub const </span>m_obsInterpState: usize = <span class="number">0xA0</span>; <span class="comment">// ObserverInterpState_t
+    </span><span class="kw">pub const </span>m_bObserverInterpolationNeedsDeferredSetup: usize = <span class="number">0xA4</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CCSObserver_UseServices { <span class="comment">// CPlayer_UseServices
+</span>}
+
+<span class="kw">pub mod </span>CCSObserver_ViewModelServices { <span class="comment">// CPlayer_ViewModelServices
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerBase_CameraServices { <span class="comment">// CPlayer_CameraServices
+    </span><span class="kw">pub const </span>m_iFOV: usize = <span class="number">0x210</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iFOVStart: usize = <span class="number">0x214</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flFOVTime: usize = <span class="number">0x218</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flFOVRate: usize = <span class="number">0x21C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hZoomOwner: usize = <span class="number">0x220</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_flLastShotFOV: usize = <span class="number">0x224</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerController { <span class="comment">// CBasePlayerController
+    </span><span class="kw">pub const </span>m_pInGameMoneyServices: usize = <span class="number">0x700</span>; <span class="comment">// CCSPlayerController_InGameMoneyServices*
+    </span><span class="kw">pub const </span>m_pInventoryServices: usize = <span class="number">0x708</span>; <span class="comment">// CCSPlayerController_InventoryServices*
+    </span><span class="kw">pub const </span>m_pActionTrackingServices: usize = <span class="number">0x710</span>; <span class="comment">// CCSPlayerController_ActionTrackingServices*
+    </span><span class="kw">pub const </span>m_pDamageServices: usize = <span class="number">0x718</span>; <span class="comment">// CCSPlayerController_DamageServices*
+    </span><span class="kw">pub const </span>m_iPing: usize = <span class="number">0x720</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bHasCommunicationAbuseMute: usize = <span class="number">0x724</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_szCrosshairCodes: usize = <span class="number">0x728</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iPendingTeamNum: usize = <span class="number">0x730</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_flForceTeamTime: usize = <span class="number">0x734</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iCompTeammateColor: usize = <span class="number">0x738</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bEverPlayedOnTeam: usize = <span class="number">0x73C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flPreviousForceJoinTeamTime: usize = <span class="number">0x740</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_szClan: usize = <span class="number">0x748</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_sSanitizedPlayerName: usize = <span class="number">0x750</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_iCoachingTeam: usize = <span class="number">0x758</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPlayerDominated: usize = <span class="number">0x760</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nPlayerDominatingMe: usize = <span class="number">0x768</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_iCompetitiveRanking: usize = <span class="number">0x770</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCompetitiveWins: usize = <span class="number">0x774</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCompetitiveRankType: usize = <span class="number">0x778</span>; <span class="comment">// int8_t
+    </span><span class="kw">pub const </span>m_iCompetitiveRankingPredicted_Win: usize = <span class="number">0x77C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCompetitiveRankingPredicted_Loss: usize = <span class="number">0x780</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCompetitiveRankingPredicted_Tie: usize = <span class="number">0x784</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nEndMatchNextMapVote: usize = <span class="number">0x788</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_unActiveQuestId: usize = <span class="number">0x78C</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nQuestProgressReason: usize = <span class="number">0x790</span>; <span class="comment">// QuestProgress::Reason
+    </span><span class="kw">pub const </span>m_unPlayerTvControlFlags: usize = <span class="number">0x794</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iDraftIndex: usize = <span class="number">0x7C0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_msQueuedModeDisconnectionTimestamp: usize = <span class="number">0x7C4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_uiAbandonRecordedReason: usize = <span class="number">0x7C8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bCannotBeKicked: usize = <span class="number">0x7CC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEverFullyConnected: usize = <span class="number">0x7CD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAbandonAllowsSurrender: usize = <span class="number">0x7CE</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAbandonOffersInstantSurrender: usize = <span class="number">0x7CF</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDisconnection1MinWarningPrinted: usize = <span class="number">0x7D0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bScoreReported: usize = <span class="number">0x7D1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nDisconnectionTick: usize = <span class="number">0x7D4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bControllingBot: usize = <span class="number">0x7E0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasControlledBotThisRound: usize = <span class="number">0x7E1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasBeenControlledByPlayerThisRound: usize = <span class="number">0x7E2</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nBotsControlledThisRound: usize = <span class="number">0x7E4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bCanControlObservedBot: usize = <span class="number">0x7E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hPlayerPawn: usize = <span class="number">0x7EC</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_hObserverPawn: usize = <span class="number">0x7F0</span>; <span class="comment">// CHandle&lt;C_CSObserverPawn&gt;
+    </span><span class="kw">pub const </span>m_bPawnIsAlive: usize = <span class="number">0x7F4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iPawnHealth: usize = <span class="number">0x7F8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iPawnArmor: usize = <span class="number">0x7FC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bPawnHasDefuser: usize = <span class="number">0x800</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPawnHasHelmet: usize = <span class="number">0x801</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nPawnCharacterDefIndex: usize = <span class="number">0x802</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_iPawnLifetimeStart: usize = <span class="number">0x804</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iPawnLifetimeEnd: usize = <span class="number">0x808</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iPawnBotDifficulty: usize = <span class="number">0x80C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hOriginalControllerOfCurrentPawn: usize = <span class="number">0x810</span>; <span class="comment">// CHandle&lt;CCSPlayerController&gt;
+    </span><span class="kw">pub const </span>m_iScore: usize = <span class="number">0x814</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecKills: usize = <span class="number">0x818</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;EKillTypes_t&gt;
+    </span><span class="kw">pub const </span>m_iMVPs: usize = <span class="number">0x830</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bIsPlayerNameDirty: usize = <span class="number">0x834</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerController_ActionTrackingServices { <span class="comment">// CPlayerControllerComponent
+    </span><span class="kw">pub const </span>m_perRoundStats: usize = <span class="number">0x40</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;CSPerRoundStats_t&gt;
+    </span><span class="kw">pub const </span>m_matchStats: usize = <span class="number">0x90</span>; <span class="comment">// CSMatchStats_t
+    </span><span class="kw">pub const </span>m_iNumRoundKills: usize = <span class="number">0x108</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNumRoundKillsHeadshots: usize = <span class="number">0x10C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_unTotalRoundDamageDealt: usize = <span class="number">0x110</span>; <span class="comment">// uint32_t
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerController_DamageServices { <span class="comment">// CPlayerControllerComponent
+    </span><span class="kw">pub const </span>m_nSendUpdate: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_DamageList: usize = <span class="number">0x48</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;CDamageRecord&gt;
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerController_InGameMoneyServices { <span class="comment">// CPlayerControllerComponent
+    </span><span class="kw">pub const </span>m_iAccount: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iStartAccount: usize = <span class="number">0x44</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iTotalCashSpent: usize = <span class="number">0x48</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCashSpentThisRound: usize = <span class="number">0x4C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPreviousAccount: usize = <span class="number">0x50</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayerController_InventoryServices { <span class="comment">// CPlayerControllerComponent
+    </span><span class="kw">pub const </span>m_unMusicID: usize = <span class="number">0x40</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_rank: usize = <span class="number">0x44</span>; <span class="comment">// MedalRank_t[6]
+    </span><span class="kw">pub const </span>m_nPersonaDataPublicLevel: usize = <span class="number">0x5C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPersonaDataPublicCommendsLeader: usize = <span class="number">0x60</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPersonaDataPublicCommendsTeacher: usize = <span class="number">0x64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPersonaDataPublicCommendsFriendly: usize = <span class="number">0x68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecServerAuthoritativeWeaponSlots: usize = <span class="number">0x70</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;ServerAuthoritativeWeaponSlot_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_ActionTrackingServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_hLastWeaponBeforeC4AutoSwitch: usize = <span class="number">0x40</span>; <span class="comment">// CHandle&lt;C_BasePlayerWeapon&gt;
+    </span><span class="kw">pub const </span>m_bIsRescuing: usize = <span class="number">0x44</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_weaponPurchasesThisMatch: usize = <span class="number">0x48</span>; <span class="comment">// WeaponPurchaseTracker_t
+    </span><span class="kw">pub const </span>m_weaponPurchasesThisRound: usize = <span class="number">0xA0</span>; <span class="comment">// WeaponPurchaseTracker_t
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_BulletServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_totalHitsOnServer: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_BuyServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_vecSellbackPurchaseEntries: usize = <span class="number">0x40</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;SellbackPurchaseEntry_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_CameraServices { <span class="comment">// CCSPlayerBase_CameraServices
+    </span><span class="kw">pub const </span>m_flDeathCamTilt: usize = <span class="number">0x228</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_GlowServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_HostageServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_hCarriedHostage: usize = <span class="number">0x40</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hCarriedHostageProp: usize = <span class="number">0x44</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_ItemServices { <span class="comment">// CPlayer_ItemServices
+    </span><span class="kw">pub const </span>m_bHasDefuser: usize = <span class="number">0x40</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasHelmet: usize = <span class="number">0x41</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasHeavyArmor: usize = <span class="number">0x42</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_MovementServices { <span class="comment">// CPlayer_MovementServices_Humanoid
+    </span><span class="kw">pub const </span>m_flMaxFallVelocity: usize = <span class="number">0x210</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecLadderNormal: usize = <span class="number">0x214</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nLadderSurfacePropIndex: usize = <span class="number">0x220</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flDuckAmount: usize = <span class="number">0x224</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDuckSpeed: usize = <span class="number">0x228</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bDuckOverride: usize = <span class="number">0x22C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDesiresDuck: usize = <span class="number">0x22D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDuckOffset: usize = <span class="number">0x230</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nDuckTimeMsecs: usize = <span class="number">0x234</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nDuckJumpTimeMsecs: usize = <span class="number">0x238</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nJumpTimeMsecs: usize = <span class="number">0x23C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flLastDuckTime: usize = <span class="number">0x240</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecLastPositionAtFullCrouchSpeed: usize = <span class="number">0x250</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_duckUntilOnGround: usize = <span class="number">0x258</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasWalkMovedSinceLastJump: usize = <span class="number">0x259</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInStuckTest: usize = <span class="number">0x25A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flStuckCheckTime: usize = <span class="number">0x268</span>; <span class="comment">// float[64][2]
+    </span><span class="kw">pub const </span>m_nTraceCount: usize = <span class="number">0x468</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_StuckLast: usize = <span class="number">0x46C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bSpeedCropped: usize = <span class="number">0x470</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nOldWaterLevel: usize = <span class="number">0x474</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flWaterEntryTime: usize = <span class="number">0x478</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecForward: usize = <span class="number">0x47C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecLeft: usize = <span class="number">0x488</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecUp: usize = <span class="number">0x494</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecPreviouslyPredictedOrigin: usize = <span class="number">0x4A0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bOldJumpPressed: usize = <span class="number">0x4AC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flJumpPressedTime: usize = <span class="number">0x4B0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flJumpUntil: usize = <span class="number">0x4B4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flJumpVel: usize = <span class="number">0x4B8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fStashGrenadeParameterWhen: usize = <span class="number">0x4BC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nButtonDownMaskPrev: usize = <span class="number">0x4C0</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_flOffsetTickCompleteTime: usize = <span class="number">0x4C8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOffsetTickStashedSpeed: usize = <span class="number">0x4CC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStamina: usize = <span class="number">0x4D0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bUpdatePredictedOriginAfterDataUpdate: usize = <span class="number">0x4D4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flHeightAtJumpStart: usize = <span class="number">0x4D8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMaxJumpHeightThisJump: usize = <span class="number">0x4DC</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_PingServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_hPlayerPing: usize = <span class="number">0x40</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_UseServices { <span class="comment">// CPlayer_UseServices
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_ViewModelServices { <span class="comment">// CPlayer_ViewModelServices
+    </span><span class="kw">pub const </span>m_hViewModel: usize = <span class="number">0x40</span>; <span class="comment">// CHandle&lt;C_BaseViewModel&gt;[3]
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_WaterServices { <span class="comment">// CPlayer_WaterServices
+    </span><span class="kw">pub const </span>m_flWaterJumpTime: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecWaterJumpVel: usize = <span class="number">0x44</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flSwimSoundTime: usize = <span class="number">0x50</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCSPlayer_WeaponServices { <span class="comment">// CPlayer_WeaponServices
+    </span><span class="kw">pub const </span>m_flNextAttack: usize = <span class="number">0xC0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bIsLookingAtWeapon: usize = <span class="number">0xC4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsHoldingLookAtWeapon: usize = <span class="number">0xC5</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CCSWeaponBaseVData { <span class="comment">// CBasePlayerWeaponVData
+    </span><span class="kw">pub const </span>m_WeaponType: usize = <span class="number">0x240</span>; <span class="comment">// CSWeaponType
+    </span><span class="kw">pub const </span>m_WeaponCategory: usize = <span class="number">0x244</span>; <span class="comment">// CSWeaponCategory
+    </span><span class="kw">pub const </span>m_szViewModel: usize = <span class="number">0x248</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_szPlayerModel: usize = <span class="number">0x328</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_szWorldDroppedModel: usize = <span class="number">0x408</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_szAimsightLensMaskModel: usize = <span class="number">0x4E8</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_szMagazineModel: usize = <span class="number">0x5C8</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeCModel&gt;&gt;
+    </span><span class="kw">pub const </span>m_szHeatEffect: usize = <span class="number">0x6A8</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_szEjectBrassEffect: usize = <span class="number">0x788</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_szMuzzleFlashParticleAlt: usize = <span class="number">0x868</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_szMuzzleFlashThirdPersonParticle: usize = <span class="number">0x948</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_szMuzzleFlashThirdPersonParticleAlt: usize = <span class="number">0xA28</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_szTracerParticle: usize = <span class="number">0xB08</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_GearSlot: usize = <span class="number">0xBE8</span>; <span class="comment">// gear_slot_t
+    </span><span class="kw">pub const </span>m_GearSlotPosition: usize = <span class="number">0xBEC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_DefaultLoadoutSlot: usize = <span class="number">0xBF0</span>; <span class="comment">// loadout_slot_t
+    </span><span class="kw">pub const </span>m_sWrongTeamMsg: usize = <span class="number">0xBF8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nPrice: usize = <span class="number">0xC00</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nKillAward: usize = <span class="number">0xC04</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPrimaryReserveAmmoMax: usize = <span class="number">0xC08</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nSecondaryReserveAmmoMax: usize = <span class="number">0xC0C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bMeleeWeapon: usize = <span class="number">0xC10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasBurstMode: usize = <span class="number">0xC11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsRevolver: usize = <span class="number">0xC12</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCannotShootUnderwater: usize = <span class="number">0xC13</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_szName: usize = <span class="number">0xC18</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_szAnimExtension: usize = <span class="number">0xC20</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_eSilencerType: usize = <span class="number">0xC28</span>; <span class="comment">// CSWeaponSilencerType
+    </span><span class="kw">pub const </span>m_nCrosshairMinDistance: usize = <span class="number">0xC2C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCrosshairDeltaDistance: usize = <span class="number">0xC30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flCycleTime: usize = <span class="number">0xC34</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flMaxSpeed: usize = <span class="number">0xC3C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flSpread: usize = <span class="number">0xC44</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyCrouch: usize = <span class="number">0xC4C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyStand: usize = <span class="number">0xC54</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyJump: usize = <span class="number">0xC5C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyLand: usize = <span class="number">0xC64</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyLadder: usize = <span class="number">0xC6C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyFire: usize = <span class="number">0xC74</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flInaccuracyMove: usize = <span class="number">0xC7C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flRecoilAngle: usize = <span class="number">0xC84</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flRecoilAngleVariance: usize = <span class="number">0xC8C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flRecoilMagnitude: usize = <span class="number">0xC94</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_flRecoilMagnitudeVariance: usize = <span class="number">0xC9C</span>; <span class="comment">// CFiringModeFloat
+    </span><span class="kw">pub const </span>m_nTracerFrequency: usize = <span class="number">0xCA4</span>; <span class="comment">// CFiringModeInt
+    </span><span class="kw">pub const </span>m_flInaccuracyJumpInitial: usize = <span class="number">0xCAC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInaccuracyJumpApex: usize = <span class="number">0xCB0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInaccuracyReload: usize = <span class="number">0xCB4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nRecoilSeed: usize = <span class="number">0xCB8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nSpreadSeed: usize = <span class="number">0xCBC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flTimeToIdleAfterFire: usize = <span class="number">0xCC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIdleInterval: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAttackMovespeedFactor: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHeatPerShot: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInaccuracyPitchShift: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInaccuracyAltSoundThreshold: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBotAudibleRange: usize = <span class="number">0xCD8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_szUseRadioSubtitle: usize = <span class="number">0xCE0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bUnzoomsAfterShot: usize = <span class="number">0xCE8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHideViewModelWhenZoomed: usize = <span class="number">0xCE9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nZoomLevels: usize = <span class="number">0xCEC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nZoomFOV1: usize = <span class="number">0xCF0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nZoomFOV2: usize = <span class="number">0xCF4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flZoomTime0: usize = <span class="number">0xCF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flZoomTime1: usize = <span class="number">0xCFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flZoomTime2: usize = <span class="number">0xD00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightPullUpSpeed: usize = <span class="number">0xD04</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightPutDownSpeed: usize = <span class="number">0xD08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightFOV: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightPivotForward: usize = <span class="number">0xD10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightLooseness: usize = <span class="number">0xD14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_angPivotAngle: usize = <span class="number">0xD18</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vecIronSightEyePos: usize = <span class="number">0xD24</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nDamage: usize = <span class="number">0xD30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flHeadshotMultiplier: usize = <span class="number">0xD34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flArmorRatio: usize = <span class="number">0xD38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPenetration: usize = <span class="number">0xD3C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRange: usize = <span class="number">0xD40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRangeModifier: usize = <span class="number">0xD44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlinchVelocityModifierLarge: usize = <span class="number">0xD48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlinchVelocityModifierSmall: usize = <span class="number">0xD4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRecoveryTimeCrouch: usize = <span class="number">0xD50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRecoveryTimeStand: usize = <span class="number">0xD54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRecoveryTimeCrouchFinal: usize = <span class="number">0xD58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRecoveryTimeStandFinal: usize = <span class="number">0xD5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nRecoveryTransitionStartBullet: usize = <span class="number">0xD60</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRecoveryTransitionEndBullet: usize = <span class="number">0xD64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flThrowVelocity: usize = <span class="number">0xD68</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vSmokeColor: usize = <span class="number">0xD6C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_szAnimClass: usize = <span class="number">0xD78</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>CClientAlphaProperty { <span class="comment">// IClientAlphaProperty
+    </span><span class="kw">pub const </span>m_nRenderFX: usize = <span class="number">0x10</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nRenderMode: usize = <span class="number">0x11</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_bAlphaOverride: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bShadowAlphaOverride: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_nReserved: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:6
+    </span><span class="kw">pub const </span>m_nAlpha: usize = <span class="number">0x13</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nDesyncOffset: usize = <span class="number">0x14</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nReserved2: usize = <span class="number">0x16</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nDistFadeStart: usize = <span class="number">0x18</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nDistFadeEnd: usize = <span class="number">0x1A</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_flFadeScale: usize = <span class="number">0x1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRenderFxStartTime: usize = <span class="number">0x20</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flRenderFxDuration: usize = <span class="number">0x24</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CCollisionProperty {
+    <span class="kw">pub const </span>m_collisionAttribute: usize = <span class="number">0x10</span>; <span class="comment">// VPhysicsCollisionAttribute_t
+    </span><span class="kw">pub const </span>m_vecMins: usize = <span class="number">0x40</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecMaxs: usize = <span class="number">0x4C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_usSolidFlags: usize = <span class="number">0x5A</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nSolidType: usize = <span class="number">0x5B</span>; <span class="comment">// SolidType_t
+    </span><span class="kw">pub const </span>m_triggerBloat: usize = <span class="number">0x5C</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nSurroundType: usize = <span class="number">0x5D</span>; <span class="comment">// SurroundingBoundsType_t
+    </span><span class="kw">pub const </span>m_CollisionGroup: usize = <span class="number">0x5E</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nEnablePhysics: usize = <span class="number">0x5F</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_flBoundingRadius: usize = <span class="number">0x60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecSpecifiedSurroundingMins: usize = <span class="number">0x64</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecSpecifiedSurroundingMaxs: usize = <span class="number">0x70</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecSurroundingMaxs: usize = <span class="number">0x7C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecSurroundingMins: usize = <span class="number">0x88</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vCapsuleCenter1: usize = <span class="number">0x94</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vCapsuleCenter2: usize = <span class="number">0xA0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flCapsuleRadius: usize = <span class="number">0xAC</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CComicBook {
+    <span class="kw">pub const </span>m_CoverImage: usize = <span class="number">0x8</span>; <span class="comment">// CPanoramaImageName
+    </span><span class="kw">pub const </span>m_XmlFile: usize = <span class="number">0x18</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>CCompositeMaterialEditorDoc {
+    <span class="kw">pub const </span>m_nVersion: usize = <span class="number">0x8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_Points: usize = <span class="number">0x10</span>; <span class="comment">// CUtlVector&lt;CompositeMaterialEditorPoint_t&gt;
+    </span><span class="kw">pub const </span>m_KVthumbnail: usize = <span class="number">0x28</span>; <span class="comment">// KeyValues3
+</span>}
+
+<span class="kw">pub mod </span>CDamageRecord {
+    <span class="kw">pub const </span>m_PlayerDamager: usize = <span class="number">0x28</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawnBase&gt;
+    </span><span class="kw">pub const </span>m_PlayerRecipient: usize = <span class="number">0x2C</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawnBase&gt;
+    </span><span class="kw">pub const </span>m_hPlayerControllerDamager: usize = <span class="number">0x30</span>; <span class="comment">// CHandle&lt;CCSPlayerController&gt;
+    </span><span class="kw">pub const </span>m_hPlayerControllerRecipient: usize = <span class="number">0x34</span>; <span class="comment">// CHandle&lt;CCSPlayerController&gt;
+    </span><span class="kw">pub const </span>m_szPlayerDamagerName: usize = <span class="number">0x38</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_szPlayerRecipientName: usize = <span class="number">0x40</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_DamagerXuid: usize = <span class="number">0x48</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_RecipientXuid: usize = <span class="number">0x50</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_iDamage: usize = <span class="number">0x58</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iActualHealthRemoved: usize = <span class="number">0x5C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNumHits: usize = <span class="number">0x60</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iLastBulletUpdate: usize = <span class="number">0x64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bIsOtherEnemy: usize = <span class="number">0x68</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_killType: usize = <span class="number">0x69</span>; <span class="comment">// EKillTypes_t
+</span>}
+
+<span class="kw">pub mod </span>CDecalInfo {
+    <span class="kw">pub const </span>m_flAnimationScale: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAnimationLifeSpan: usize = <span class="number">0x4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPlaceTime: usize = <span class="number">0x8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeStartTime: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeDuration: usize = <span class="number">0x10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nVBSlot: usize = <span class="number">0x14</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nBoneIndex: usize = <span class="number">0x18</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vPosition: usize = <span class="number">0x28</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flBoundingRadiusSqr: usize = <span class="number">0x34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x40</span>; <span class="comment">// CDecalInfo*
+    </span><span class="kw">pub const </span>m_pPrev: usize = <span class="number">0x48</span>; <span class="comment">// CDecalInfo*
+    </span><span class="kw">pub const </span>m_nDecalMaterialIndex: usize = <span class="number">0xA8</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CEconItemAttribute {
+    <span class="kw">pub const </span>m_iAttributeDefinitionIndex: usize = <span class="number">0x30</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_flValue: usize = <span class="number">0x34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInitialValue: usize = <span class="number">0x38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nRefundableCurrency: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bSetBonus: usize = <span class="number">0x40</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CEffectData {
+    <span class="kw">pub const </span>m_vOrigin: usize = <span class="number">0x8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vStart: usize = <span class="number">0x14</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vNormal: usize = <span class="number">0x20</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vAngles: usize = <span class="number">0x2C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_hEntity: usize = <span class="number">0x38</span>; <span class="comment">// CEntityHandle
+    </span><span class="kw">pub const </span>m_hOtherEntity: usize = <span class="number">0x3C</span>; <span class="comment">// CEntityHandle
+    </span><span class="kw">pub const </span>m_flScale: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMagnitude: usize = <span class="number">0x44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRadius: usize = <span class="number">0x48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nSurfaceProp: usize = <span class="number">0x4C</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_nEffectIndex: usize = <span class="number">0x50</span>; <span class="comment">// CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;
+    </span><span class="kw">pub const </span>m_nDamageType: usize = <span class="number">0x58</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nPenetrate: usize = <span class="number">0x5C</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nMaterial: usize = <span class="number">0x5E</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nHitBox: usize = <span class="number">0x60</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nColor: usize = <span class="number">0x62</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_fFlags: usize = <span class="number">0x63</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nAttachmentIndex: usize = <span class="number">0x64</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_nAttachmentName: usize = <span class="number">0x68</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_iEffectName: usize = <span class="number">0x6C</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nExplosionType: usize = <span class="number">0x6E</span>; <span class="comment">// uint8_t
+</span>}
+
+<span class="kw">pub mod </span>CEntityComponent {
+}
+
+<span class="kw">pub mod </span>CEntityIdentity {
+    <span class="kw">pub const </span>m_nameStringableIndex: usize = <span class="number">0x14</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_name: usize = <span class="number">0x18</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_designerName: usize = <span class="number">0x20</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_flags: usize = <span class="number">0x30</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_worldGroupId: usize = <span class="number">0x38</span>; <span class="comment">// WorldGroupId_t
+    </span><span class="kw">pub const </span>m_fDataObjectTypes: usize = <span class="number">0x3C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_PathIndex: usize = <span class="number">0x40</span>; <span class="comment">// ChangeAccessorFieldPathIndex_t
+    </span><span class="kw">pub const </span>m_pPrev: usize = <span class="number">0x58</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x60</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pPrevByClass: usize = <span class="number">0x68</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pNextByClass: usize = <span class="number">0x70</span>; <span class="comment">// CEntityIdentity*
+</span>}
+
+<span class="kw">pub mod </span>CEntityInstance {
+    <span class="kw">pub const </span>m_iszPrivateVScripts: usize = <span class="number">0x8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_pEntity: usize = <span class="number">0x10</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_CScriptComponent: usize = <span class="number">0x28</span>; <span class="comment">// CScriptComponent*
+</span>}
+
+<span class="kw">pub mod </span>CFireOverlay { <span class="comment">// CGlowOverlay
+    </span><span class="kw">pub const </span>m_pOwner: usize = <span class="number">0xD0</span>; <span class="comment">// C_FireSmoke*
+    </span><span class="kw">pub const </span>m_vBaseColors: usize = <span class="number">0xD8</span>; <span class="comment">// Vector[4]
+    </span><span class="kw">pub const </span>m_flScale: usize = <span class="number">0x108</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nGUID: usize = <span class="number">0x10C</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CFlashlightEffect {
+    <span class="kw">pub const </span>m_bIsOn: usize = <span class="number">0x10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMuzzleFlashEnabled: usize = <span class="number">0x20</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flMuzzleFlashBrightness: usize = <span class="number">0x24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_quatMuzzleFlashOrientation: usize = <span class="number">0x30</span>; <span class="comment">// Quaternion
+    </span><span class="kw">pub const </span>m_vecMuzzleFlashOrigin: usize = <span class="number">0x40</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flFov: usize = <span class="number">0x4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFarZ: usize = <span class="number">0x50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLinearAtten: usize = <span class="number">0x54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bCastsShadows: usize = <span class="number">0x58</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flCurrentPullBackDist: usize = <span class="number">0x5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_FlashlightTexture: usize = <span class="number">0x60</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_MuzzleFlashTexture: usize = <span class="number">0x68</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_textureName: usize = <span class="number">0x70</span>; <span class="comment">// char[64]
+</span>}
+
+<span class="kw">pub mod </span>CFuncWater { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_BuoyancyHelper: usize = <span class="number">0xCC0</span>; <span class="comment">// CBuoyancyHelper
+</span>}
+
+<span class="kw">pub mod </span>CGameSceneNode {
+    <span class="kw">pub const </span>m_nodeToWorld: usize = <span class="number">0x10</span>; <span class="comment">// CTransform
+    </span><span class="kw">pub const </span>m_pOwner: usize = <span class="number">0x30</span>; <span class="comment">// CEntityInstance*
+    </span><span class="kw">pub const </span>m_pParent: usize = <span class="number">0x38</span>; <span class="comment">// CGameSceneNode*
+    </span><span class="kw">pub const </span>m_pChild: usize = <span class="number">0x40</span>; <span class="comment">// CGameSceneNode*
+    </span><span class="kw">pub const </span>m_pNextSibling: usize = <span class="number">0x48</span>; <span class="comment">// CGameSceneNode*
+    </span><span class="kw">pub const </span>m_hParent: usize = <span class="number">0x70</span>; <span class="comment">// CGameSceneNodeHandle
+    </span><span class="kw">pub const </span>m_vecOrigin: usize = <span class="number">0x80</span>; <span class="comment">// CNetworkOriginCellCoordQuantizedVector
+    </span><span class="kw">pub const </span>m_angRotation: usize = <span class="number">0xB8</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_flScale: usize = <span class="number">0xC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecAbsOrigin: usize = <span class="number">0xC8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_angAbsRotation: usize = <span class="number">0xD4</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_flAbsScale: usize = <span class="number">0xE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nParentAttachmentOrBone: usize = <span class="number">0xE4</span>; <span class="comment">// int16_t
+    </span><span class="kw">pub const </span>m_bDebugAbsOriginChanges: usize = <span class="number">0xE6</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDormant: usize = <span class="number">0xE7</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bForceParentToBeNetworked: usize = <span class="number">0xE8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDirtyHierarchy: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bDirtyBoneMergeInfo: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bNetworkedPositionChanged: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bNetworkedAnglesChanged: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bNetworkedScaleChanged: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bWillBeCallingPostDataUpdate: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bNotifyBoneTransformsChanged: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bBoneMergeFlex: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_nLatchAbsOrigin: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:2
+    </span><span class="kw">pub const </span>m_bDirtyBoneMergeBoneToRoot: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_nHierarchicalDepth: usize = <span class="number">0xEB</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nHierarchyType: usize = <span class="number">0xEC</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nDoNotSetAnimTimeInInvalidatePhysicsCount: usize = <span class="number">0xED</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_name: usize = <span class="number">0xF0</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_hierarchyAttachName: usize = <span class="number">0x130</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_flZOffset: usize = <span class="number">0x134</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vRenderOrigin: usize = <span class="number">0x138</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>CGameSceneNodeHandle {
+    <span class="kw">pub const </span>m_hOwner: usize = <span class="number">0x8</span>; <span class="comment">// CEntityHandle
+    </span><span class="kw">pub const </span>m_name: usize = <span class="number">0xC</span>; <span class="comment">// CUtlStringToken
+</span>}
+
+<span class="kw">pub mod </span>CGlobalLightBase {
+    <span class="kw">pub const </span>m_bSpotLight: usize = <span class="number">0x10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_SpotLightOrigin: usize = <span class="number">0x14</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_SpotLightAngles: usize = <span class="number">0x20</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_ShadowDirection: usize = <span class="number">0x2C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_AmbientDirection: usize = <span class="number">0x38</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_SpecularDirection: usize = <span class="number">0x44</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_InspectorSpecularDirection: usize = <span class="number">0x50</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flSpecularPower: usize = <span class="number">0x5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSpecularIndependence: usize = <span class="number">0x60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_SpecularColor: usize = <span class="number">0x64</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x68</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x69</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_LightColor: usize = <span class="number">0x6A</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_AmbientColor1: usize = <span class="number">0x6E</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_AmbientColor2: usize = <span class="number">0x72</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_AmbientColor3: usize = <span class="number">0x76</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flSunDistance: usize = <span class="number">0x7C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFOV: usize = <span class="number">0x80</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNearZ: usize = <span class="number">0x84</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFarZ: usize = <span class="number">0x88</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnableShadows: usize = <span class="number">0x8C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bOldEnableShadows: usize = <span class="number">0x8D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bBackgroundClearNotRequired: usize = <span class="number">0x8E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flCloudScale: usize = <span class="number">0x90</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCloud1Speed: usize = <span class="number">0x94</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCloud1Direction: usize = <span class="number">0x98</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCloud2Speed: usize = <span class="number">0x9C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCloud2Direction: usize = <span class="number">0xA0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAmbientScale1: usize = <span class="number">0xB0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAmbientScale2: usize = <span class="number">0xB4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flGroundScale: usize = <span class="number">0xB8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLightScale: usize = <span class="number">0xBC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFoWDarkness: usize = <span class="number">0xC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnableSeparateSkyboxFog: usize = <span class="number">0xC4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vFowColor: usize = <span class="number">0xC8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_ViewOrigin: usize = <span class="number">0xD4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_ViewAngles: usize = <span class="number">0xE0</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_flViewFoV: usize = <span class="number">0xEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_WorldPoints: usize = <span class="number">0xF0</span>; <span class="comment">// Vector[8]
+    </span><span class="kw">pub const </span>m_vFogOffsetLayer0: usize = <span class="number">0x4A8</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_vFogOffsetLayer1: usize = <span class="number">0x4B0</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_hEnvWind: usize = <span class="number">0x4B8</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hEnvSky: usize = <span class="number">0x4BC</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>CGlowOverlay {
+    <span class="kw">pub const </span>m_vPos: usize = <span class="number">0x8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bDirectional: usize = <span class="number">0x14</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vDirection: usize = <span class="number">0x18</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bInSky: usize = <span class="number">0x24</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_skyObstructionScale: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Sprites: usize = <span class="number">0x30</span>; <span class="comment">// CGlowSprite[4]
+    </span><span class="kw">pub const </span>m_nSprites: usize = <span class="number">0xB0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flProxyRadius: usize = <span class="number">0xB4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHDRColorScale: usize = <span class="number">0xB8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flGlowObstructionScale: usize = <span class="number">0xBC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bCacheGlowObstruction: usize = <span class="number">0xC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCacheSkyObstruction: usize = <span class="number">0xC1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bActivated: usize = <span class="number">0xC2</span>; <span class="comment">// int16_t
+    </span><span class="kw">pub const </span>m_ListIndex: usize = <span class="number">0xC4</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_queryHandle: usize = <span class="number">0xC8</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CGlowProperty {
+    <span class="kw">pub const </span>m_fGlowColor: usize = <span class="number">0x8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_iGlowType: usize = <span class="number">0x30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iGlowTeam: usize = <span class="number">0x34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGlowRange: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGlowRangeMin: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_glowColorOverride: usize = <span class="number">0x40</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bFlashing: usize = <span class="number">0x44</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flGlowTime: usize = <span class="number">0x48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flGlowStartTime: usize = <span class="number">0x4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEligibleForScreenHighlight: usize = <span class="number">0x50</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bGlowing: usize = <span class="number">0x51</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CGlowSprite {
+    <span class="kw">pub const </span>m_vColor: usize = <span class="number">0x0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flHorzSize: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flVertSize: usize = <span class="number">0x10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hMaterial: usize = <span class="number">0x18</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+</span>}
+
+<span class="kw">pub mod </span>CGrenadeTracer { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_flTracerDuration: usize = <span class="number">0xCE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nType: usize = <span class="number">0xCE4</span>; <span class="comment">// GrenadeType_t
+</span>}
+
+<span class="kw">pub mod </span>CHitboxComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>m_bvDisabledHitGroups: usize = <span class="number">0x24</span>; <span class="comment">// uint32_t[1]
+</span>}
+
+<span class="kw">pub mod </span>CHostageRescueZone { <span class="comment">// CHostageRescueZoneShim
+</span>}
+
+<span class="kw">pub mod </span>CHostageRescueZoneShim { <span class="comment">// C_BaseTrigger
+</span>}
+
+<span class="kw">pub mod </span>CInfoDynamicShadowHint { <span class="comment">// C_PointEntity
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flRange: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nImportance: usize = <span class="number">0x548</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightChoice: usize = <span class="number">0x54C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hLight: usize = <span class="number">0x550</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>CInfoDynamicShadowHintBox { <span class="comment">// CInfoDynamicShadowHint
+    </span><span class="kw">pub const </span>m_vBoxMins: usize = <span class="number">0x558</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxMaxs: usize = <span class="number">0x564</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>CInfoOffscreenPanoramaTexture { <span class="comment">// C_PointEntity
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nResolutionX: usize = <span class="number">0x544</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nResolutionY: usize = <span class="number">0x548</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szLayoutFileName: usize = <span class="number">0x550</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_RenderAttrName: usize = <span class="number">0x558</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_TargetEntities: usize = <span class="number">0x560</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseModelEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_nTargetChangeCount: usize = <span class="number">0x578</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecCSSClasses: usize = <span class="number">0x580</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlSymbolLarge&gt;
+    </span><span class="kw">pub const </span>m_bCheckCSSClasses: usize = <span class="number">0x6F8</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CInfoParticleTarget { <span class="comment">// C_PointEntity
+</span>}
+
+<span class="kw">pub mod </span>CInfoTarget { <span class="comment">// C_PointEntity
+</span>}
+
+<span class="kw">pub mod </span>CInfoWorldLayer { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_pOutputOnEntitiesSpawned: usize = <span class="number">0x540</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_worldName: usize = <span class="number">0x568</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_layerName: usize = <span class="number">0x570</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_bWorldLayerVisible: usize = <span class="number">0x578</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEntitiesSpawned: usize = <span class="number">0x579</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCreateAsChildSpawnGroup: usize = <span class="number">0x57A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hLayerSpawnGroup: usize = <span class="number">0x57C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bWorldLayerActuallyVisible: usize = <span class="number">0x580</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CInterpolatedValue {
+    <span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flEndTime: usize = <span class="number">0x4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartValue: usize = <span class="number">0x8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flEndValue: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nInterpType: usize = <span class="number">0x10</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CLightComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x48</span>; <span class="comment">// CNetworkVarChainer
+    </span><span class="kw">pub const </span>m_Color: usize = <span class="number">0x85</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_SecondaryColor: usize = <span class="number">0x89</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flBrightness: usize = <span class="number">0x90</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBrightnessScale: usize = <span class="number">0x94</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBrightnessMult: usize = <span class="number">0x98</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRange: usize = <span class="number">0x9C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFalloff: usize = <span class="number">0xA0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAttenuation0: usize = <span class="number">0xA4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAttenuation1: usize = <span class="number">0xA8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAttenuation2: usize = <span class="number">0xAC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTheta: usize = <span class="number">0xB0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPhi: usize = <span class="number">0xB4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hLightCookie: usize = <span class="number">0xB8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_nCascades: usize = <span class="number">0xC0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCastShadows: usize = <span class="number">0xC4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowWidth: usize = <span class="number">0xC8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowHeight: usize = <span class="number">0xCC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bRenderDiffuse: usize = <span class="number">0xD0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nRenderSpecular: usize = <span class="number">0xD4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bRenderTransmissive: usize = <span class="number">0xD8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flOrthoLightWidth: usize = <span class="number">0xDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOrthoLightHeight: usize = <span class="number">0xE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nStyle: usize = <span class="number">0xE4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_Pattern: usize = <span class="number">0xE8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nCascadeRenderStaticObjects: usize = <span class="number">0xF0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flShadowCascadeCrossFade: usize = <span class="number">0xF4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowCascadeDistanceFade: usize = <span class="number">0xF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowCascadeDistance0: usize = <span class="number">0xFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowCascadeDistance1: usize = <span class="number">0x100</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowCascadeDistance2: usize = <span class="number">0x104</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowCascadeDistance3: usize = <span class="number">0x108</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nShadowCascadeResolution0: usize = <span class="number">0x10C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowCascadeResolution1: usize = <span class="number">0x110</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowCascadeResolution2: usize = <span class="number">0x114</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowCascadeResolution3: usize = <span class="number">0x118</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bUsesBakedShadowing: usize = <span class="number">0x11C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nShadowPriority: usize = <span class="number">0x120</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nBakedShadowIndex: usize = <span class="number">0x124</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bRenderToCubemaps: usize = <span class="number">0x128</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nDirectLight: usize = <span class="number">0x12C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nIndirectLight: usize = <span class="number">0x130</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFadeMinDist: usize = <span class="number">0x134</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeMaxDist: usize = <span class="number">0x138</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowFadeMinDist: usize = <span class="number">0x13C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowFadeMaxDist: usize = <span class="number">0x140</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x144</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFlicker: usize = <span class="number">0x145</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPrecomputedFieldsValid: usize = <span class="number">0x146</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vPrecomputedBoundsMins: usize = <span class="number">0x148</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedBoundsMaxs: usize = <span class="number">0x154</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBOrigin: usize = <span class="number">0x160</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBAngles: usize = <span class="number">0x16C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBExtent: usize = <span class="number">0x178</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flPrecomputedMaxRange: usize = <span class="number">0x184</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFogLightingMode: usize = <span class="number">0x188</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFogContributionStength: usize = <span class="number">0x18C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNearClipPlane: usize = <span class="number">0x190</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_SkyColor: usize = <span class="number">0x194</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flSkyIntensity: usize = <span class="number">0x198</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_SkyAmbientBounce: usize = <span class="number">0x19C</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bUseSecondaryColor: usize = <span class="number">0x1A0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMixedShadows: usize = <span class="number">0x1A1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLightStyleStartTime: usize = <span class="number">0x1A4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flCapsuleLength: usize = <span class="number">0x1A8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMinRoughness: usize = <span class="number">0x1AC</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CLogicRelay { <span class="comment">// CLogicalEntity
+    </span><span class="kw">pub const </span>m_OnTrigger: usize = <span class="number">0x540</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_OnSpawn: usize = <span class="number">0x568</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0x590</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWaitForRefire: usize = <span class="number">0x591</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bTriggerOnce: usize = <span class="number">0x592</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFastRetrigger: usize = <span class="number">0x593</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPassthoughCaller: usize = <span class="number">0x594</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CLogicalEntity { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>CModelState {
+    <span class="kw">pub const </span>m_hModel: usize = <span class="number">0xA0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCModel&gt;
+    </span><span class="kw">pub const </span>m_ModelName: usize = <span class="number">0xA8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_bClientClothCreationSuppressed: usize = <span class="number">0xE8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_MeshGroupMask: usize = <span class="number">0x180</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nIdealMotionType: usize = <span class="number">0x222</span>; <span class="comment">// int8_t
+    </span><span class="kw">pub const </span>m_nForceLOD: usize = <span class="number">0x223</span>; <span class="comment">// int8_t
+    </span><span class="kw">pub const </span>m_nClothUpdateFlags: usize = <span class="number">0x224</span>; <span class="comment">// int8_t
+</span>}
+
+<span class="kw">pub mod </span>CNetworkedSequenceOperation {
+    <span class="kw">pub const </span>m_hSequence: usize = <span class="number">0x8</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_flPrevCycle: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCycle: usize = <span class="number">0x10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flWeight: usize = <span class="number">0x14</span>; <span class="comment">// CNetworkedQuantizedFloat
+    </span><span class="kw">pub const </span>m_bSequenceChangeNetworked: usize = <span class="number">0x1C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDiscontinuity: usize = <span class="number">0x1D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flPrevCycleFromDiscontinuity: usize = <span class="number">0x20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPrevCycleForAnimEventDetection: usize = <span class="number">0x24</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CPlayerSprayDecalRenderHelper {
+}
+
+<span class="kw">pub mod </span>CPlayer_AutoaimServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_CameraServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_vecCsViewPunchAngle: usize = <span class="number">0x40</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_nCsViewPunchAngleTick: usize = <span class="number">0x4C</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_flCsViewPunchAngleTickRatio: usize = <span class="number">0x50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_PlayerFog: usize = <span class="number">0x58</span>; <span class="comment">// C_fogplayerparams_t
+    </span><span class="kw">pub const </span>m_hColorCorrectionCtrl: usize = <span class="number">0x98</span>; <span class="comment">// CHandle&lt;C_ColorCorrection&gt;
+    </span><span class="kw">pub const </span>m_hViewEntity: usize = <span class="number">0x9C</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hTonemapController: usize = <span class="number">0xA0</span>; <span class="comment">// CHandle&lt;C_TonemapController2&gt;
+    </span><span class="kw">pub const </span>m_audio: usize = <span class="number">0xA8</span>; <span class="comment">// audioparams_t
+    </span><span class="kw">pub const </span>m_PostProcessingVolumes: usize = <span class="number">0x120</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_PostProcessingVolume&gt;&gt;
+    </span><span class="kw">pub const </span>m_flOldPlayerZ: usize = <span class="number">0x138</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldPlayerViewOffsetZ: usize = <span class="number">0x13C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_CurrentFog: usize = <span class="number">0x140</span>; <span class="comment">// fogparams_t
+    </span><span class="kw">pub const </span>m_hOldFogController: usize = <span class="number">0x1A8</span>; <span class="comment">// CHandle&lt;C_FogController&gt;
+    </span><span class="kw">pub const </span>m_bOverrideFogColor: usize = <span class="number">0x1AC</span>; <span class="comment">// bool[5]
+    </span><span class="kw">pub const </span>m_OverrideFogColor: usize = <span class="number">0x1B1</span>; <span class="comment">// Color[5]
+    </span><span class="kw">pub const </span>m_bOverrideFogStartEnd: usize = <span class="number">0x1C5</span>; <span class="comment">// bool[5]
+    </span><span class="kw">pub const </span>m_fOverrideFogStart: usize = <span class="number">0x1CC</span>; <span class="comment">// float[5]
+    </span><span class="kw">pub const </span>m_fOverrideFogEnd: usize = <span class="number">0x1E0</span>; <span class="comment">// float[5]
+    </span><span class="kw">pub const </span>m_hActivePostProcessingVolume: usize = <span class="number">0x1F4</span>; <span class="comment">// CHandle&lt;C_PostProcessingVolume&gt;
+    </span><span class="kw">pub const </span>m_angDemoViewAngles: usize = <span class="number">0x1F8</span>; <span class="comment">// QAngle
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_FlashlightServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_ItemServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_MovementServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_nImpulse: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nButtons: usize = <span class="number">0x48</span>; <span class="comment">// CInButtonState
+    </span><span class="kw">pub const </span>m_nQueuedButtonDownMask: usize = <span class="number">0x68</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nQueuedButtonChangeMask: usize = <span class="number">0x70</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nButtonDoublePressed: usize = <span class="number">0x78</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_pButtonPressedCmdNumber: usize = <span class="number">0x80</span>; <span class="comment">// uint32_t[64]
+    </span><span class="kw">pub const </span>m_nLastCommandNumberProcessed: usize = <span class="number">0x180</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nToggleButtonDownMask: usize = <span class="number">0x188</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_flMaxspeed: usize = <span class="number">0x190</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_arrForceSubtickMoveWhen: usize = <span class="number">0x194</span>; <span class="comment">// float[4]
+    </span><span class="kw">pub const </span>m_flForwardMove: usize = <span class="number">0x1A4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLeftMove: usize = <span class="number">0x1A8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flUpMove: usize = <span class="number">0x1AC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecLastMovementImpulses: usize = <span class="number">0x1B0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecOldViewAngles: usize = <span class="number">0x1BC</span>; <span class="comment">// QAngle
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_MovementServices_Humanoid { <span class="comment">// CPlayer_MovementServices
+    </span><span class="kw">pub const </span>m_flStepSoundTime: usize = <span class="number">0x1D0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFallVelocity: usize = <span class="number">0x1D4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bInCrouch: usize = <span class="number">0x1D8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nCrouchState: usize = <span class="number">0x1DC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flCrouchTransitionStartTime: usize = <span class="number">0x1E0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bDucked: usize = <span class="number">0x1E4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDucking: usize = <span class="number">0x1E5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInDuckJump: usize = <span class="number">0x1E6</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_groundNormal: usize = <span class="number">0x1E8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flSurfaceFriction: usize = <span class="number">0x1F4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_surfaceProps: usize = <span class="number">0x1F8</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_nStepside: usize = <span class="number">0x208</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_ObserverServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_iObserverMode: usize = <span class="number">0x40</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_hObserverTarget: usize = <span class="number">0x44</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_iObserverLastMode: usize = <span class="number">0x48</span>; <span class="comment">// ObserverMode_t
+    </span><span class="kw">pub const </span>m_bForcedObserverMode: usize = <span class="number">0x4C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flObserverChaseDistance: usize = <span class="number">0x50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flObserverChaseDistanceCalcTime: usize = <span class="number">0x54</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_UseServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_ViewModelServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_WaterServices { <span class="comment">// CPlayerPawnComponent
+</span>}
+
+<span class="kw">pub mod </span>CPlayer_WeaponServices { <span class="comment">// CPlayerPawnComponent
+    </span><span class="kw">pub const </span>m_bAllowSwitchToNoWeapon: usize = <span class="number">0x40</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hMyWeapons: usize = <span class="number">0x48</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BasePlayerWeapon&gt;&gt;
+    </span><span class="kw">pub const </span>m_hActiveWeapon: usize = <span class="number">0x60</span>; <span class="comment">// CHandle&lt;C_BasePlayerWeapon&gt;
+    </span><span class="kw">pub const </span>m_hLastWeapon: usize = <span class="number">0x64</span>; <span class="comment">// CHandle&lt;C_BasePlayerWeapon&gt;
+    </span><span class="kw">pub const </span>m_iAmmo: usize = <span class="number">0x68</span>; <span class="comment">// uint16_t[32]
+</span>}
+
+<span class="kw">pub mod </span>CPointOffScreenIndicatorUi { <span class="comment">// C_PointClientUIWorldPanel
+    </span><span class="kw">pub const </span>m_bBeenEnabled: usize = <span class="number">0xF20</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHide: usize = <span class="number">0xF21</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flSeenTargetTime: usize = <span class="number">0xF24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_pTargetPanel: usize = <span class="number">0xF28</span>; <span class="comment">// C_PointClientUIWorldPanel*
+</span>}
+
+<span class="kw">pub mod </span>CPointTemplate { <span class="comment">// CLogicalEntity
+    </span><span class="kw">pub const </span>m_iszWorldName: usize = <span class="number">0x540</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszSource2EntityLumpName: usize = <span class="number">0x548</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszEntityFilterName: usize = <span class="number">0x550</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_flTimeoutInterval: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bAsynchronouslySpawnEntities: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pOutputOnSpawned: usize = <span class="number">0x560</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_clientOnlyEntityBehavior: usize = <span class="number">0x588</span>; <span class="comment">// PointTemplateClientOnlyEntityBehavior_t
+    </span><span class="kw">pub const </span>m_ownerSpawnGroupType: usize = <span class="number">0x58C</span>; <span class="comment">// PointTemplateOwnerSpawnGroupType_t
+    </span><span class="kw">pub const </span>m_createdSpawnGroupHandles: usize = <span class="number">0x590</span>; <span class="comment">// CUtlVector&lt;uint32_t&gt;
+    </span><span class="kw">pub const </span>m_SpawnedEntityHandles: usize = <span class="number">0x5A8</span>; <span class="comment">// CUtlVector&lt;CEntityHandle&gt;
+    </span><span class="kw">pub const </span>m_ScriptSpawnCallback: usize = <span class="number">0x5C0</span>; <span class="comment">// HSCRIPT
+    </span><span class="kw">pub const </span>m_ScriptCallbackScope: usize = <span class="number">0x5C8</span>; <span class="comment">// HSCRIPT
+</span>}
+
+<span class="kw">pub mod </span>CPrecipitationVData { <span class="comment">// CEntitySubclassVDataBase
+    </span><span class="kw">pub const </span>m_szParticlePrecipitationEffect: usize = <span class="number">0x28</span>; <span class="comment">// CResourceNameTyped&lt;CWeakHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;&gt;
+    </span><span class="kw">pub const </span>m_flInnerDistance: usize = <span class="number">0x108</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nAttachType: usize = <span class="number">0x10C</span>; <span class="comment">// ParticleAttachment_t
+    </span><span class="kw">pub const </span>m_bBatchSameVolumeType: usize = <span class="number">0x110</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nRTEnvCP: usize = <span class="number">0x114</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRTEnvCPComponent: usize = <span class="number">0x118</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szModifier: usize = <span class="number">0x120</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>CProjectedTextureBase {
+    <span class="kw">pub const </span>m_hTargetEntity: usize = <span class="number">0xC</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bState: usize = <span class="number">0x10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAlwaysUpdate: usize = <span class="number">0x11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLightFOV: usize = <span class="number">0x14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnableShadows: usize = <span class="number">0x18</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSimpleProjection: usize = <span class="number">0x19</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLightOnlyTarget: usize = <span class="number">0x1A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLightWorld: usize = <span class="number">0x1B</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCameraSpace: usize = <span class="number">0x1C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flBrightnessScale: usize = <span class="number">0x20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_LightColor: usize = <span class="number">0x24</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flIntensity: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLinearAttenuation: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flQuadraticAttenuation: usize = <span class="number">0x30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bVolumetric: usize = <span class="number">0x34</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flVolumetricIntensity: usize = <span class="number">0x38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNoiseStrength: usize = <span class="number">0x3C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlashlightTime: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nNumPlanes: usize = <span class="number">0x44</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flPlaneOffset: usize = <span class="number">0x48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flColorTransitionTime: usize = <span class="number">0x4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAmbient: usize = <span class="number">0x50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_SpotlightTextureName: usize = <span class="number">0x54</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_nSpotlightTextureFrame: usize = <span class="number">0x254</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowQuality: usize = <span class="number">0x258</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flNearZ: usize = <span class="number">0x25C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFarZ: usize = <span class="number">0x260</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flProjectionSize: usize = <span class="number">0x264</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRotation: usize = <span class="number">0x268</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bFlipHorizontal: usize = <span class="number">0x26C</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CRenderComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x10</span>; <span class="comment">// CNetworkVarChainer
+    </span><span class="kw">pub const </span>m_bIsRenderingWithViewModels: usize = <span class="number">0x50</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nSplitscreenFlags: usize = <span class="number">0x54</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bEnableRendering: usize = <span class="number">0x60</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInterpolationReadyToDraw: usize = <span class="number">0xB0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CSMatchStats_t { <span class="comment">// CSPerRoundStats_t
+    </span><span class="kw">pub const </span>m_iEnemy5Ks: usize = <span class="number">0x68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEnemy4Ks: usize = <span class="number">0x6C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEnemy3Ks: usize = <span class="number">0x70</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CSPerRoundStats_t {
+    <span class="kw">pub const </span>m_iKills: usize = <span class="number">0x30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iDeaths: usize = <span class="number">0x34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iAssists: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iDamage: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEquipmentValue: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iMoneySaved: usize = <span class="number">0x44</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iKillReward: usize = <span class="number">0x48</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iLiveTime: usize = <span class="number">0x4C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iHeadShotKills: usize = <span class="number">0x50</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iObjective: usize = <span class="number">0x54</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCashEarned: usize = <span class="number">0x58</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iUtilityDamage: usize = <span class="number">0x5C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEnemiesFlashed: usize = <span class="number">0x60</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>CScriptComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>m_scriptClassName: usize = <span class="number">0x30</span>; <span class="comment">// CUtlSymbolLarge
+</span>}
+
+<span class="kw">pub mod </span>CServerOnlyModelEntity { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>CSkeletonInstance { <span class="comment">// CGameSceneNode
+    </span><span class="kw">pub const </span>m_modelState: usize = <span class="number">0x160</span>; <span class="comment">// CModelState
+    </span><span class="kw">pub const </span>m_bIsAnimationEnabled: usize = <span class="number">0x390</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUseParentRenderBounds: usize = <span class="number">0x391</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDisableSolidCollisionsForHierarchy: usize = <span class="number">0x392</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDirtyMotionType: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bIsGeneratingLatchedParentSpaceState: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_materialGroup: usize = <span class="number">0x394</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_nHitboxSet: usize = <span class="number">0x398</span>; <span class="comment">// uint8_t
+</span>}
+
+<span class="kw">pub mod </span>CSkyboxReference { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_worldGroupId: usize = <span class="number">0x540</span>; <span class="comment">// WorldGroupId_t
+    </span><span class="kw">pub const </span>m_hSkyCamera: usize = <span class="number">0x544</span>; <span class="comment">// CHandle&lt;C_SkyCamera&gt;
+</span>}
+
+<span class="kw">pub mod </span>CTablet { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>CTimeline { <span class="comment">// IntervalTimer
+    </span><span class="kw">pub const </span>m_flValues: usize = <span class="number">0x10</span>; <span class="comment">// float[64]
+    </span><span class="kw">pub const </span>m_nValueCounts: usize = <span class="number">0x110</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nBucketCount: usize = <span class="number">0x210</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flInterval: usize = <span class="number">0x214</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFinalValue: usize = <span class="number">0x218</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nCompressionType: usize = <span class="number">0x21C</span>; <span class="comment">// TimelineCompression_t
+    </span><span class="kw">pub const </span>m_bStopped: usize = <span class="number">0x220</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CTripWireFire { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>CTripWireFireProjectile { <span class="comment">// C_BaseGrenade
+</span>}
+
+<span class="kw">pub mod </span>CWaterSplasher { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>CWeaponZoneRepulsor { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_AK47 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_AttributeContainer { <span class="comment">// CAttributeManager
+    </span><span class="kw">pub const </span>m_Item: usize = <span class="number">0x50</span>; <span class="comment">// C_EconItemView
+    </span><span class="kw">pub const </span>m_iExternalItemProviderRegisteredToken: usize = <span class="number">0x498</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_ullRegisteredAsItemID: usize = <span class="number">0x4A0</span>; <span class="comment">// uint64_t
+</span>}
+
+<span class="kw">pub mod </span>C_BarnLight { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xCC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nColorMode: usize = <span class="number">0xCC4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_Color: usize = <span class="number">0xCC8</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flColorTemperature: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBrightness: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBrightnessScale: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nDirectLight: usize = <span class="number">0xCD8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nBakedShadowIndex: usize = <span class="number">0xCDC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLuminaireShape: usize = <span class="number">0xCE0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flLuminaireSize: usize = <span class="number">0xCE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLuminaireAnisotropy: usize = <span class="number">0xCE8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_LightStyleString: usize = <span class="number">0xCF0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_flLightStyleStartTime: usize = <span class="number">0xCF8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_QueuedLightStyleStrings: usize = <span class="number">0xD00</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlString&gt;
+    </span><span class="kw">pub const </span>m_LightStyleEvents: usize = <span class="number">0xD18</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlString&gt;
+    </span><span class="kw">pub const </span>m_LightStyleTargets: usize = <span class="number">0xD30</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseModelEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_StyleEvent: usize = <span class="number">0xD48</span>; <span class="comment">// CEntityIOOutput[4]
+    </span><span class="kw">pub const </span>m_hLightCookie: usize = <span class="number">0xDE8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_flShape: usize = <span class="number">0xDF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSoftX: usize = <span class="number">0xDF4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSoftY: usize = <span class="number">0xDF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSkirt: usize = <span class="number">0xDFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSkirtNear: usize = <span class="number">0xE00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vSizeParams: usize = <span class="number">0xE04</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flRange: usize = <span class="number">0xE10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vShear: usize = <span class="number">0xE14</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nBakeSpecularToCubemaps: usize = <span class="number">0xE20</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vBakeSpecularToCubemapsSize: usize = <span class="number">0xE24</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nCastShadows: usize = <span class="number">0xE30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowMapSize: usize = <span class="number">0xE34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nShadowPriority: usize = <span class="number">0xE38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bContactShadow: usize = <span class="number">0xE3C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nBounceLight: usize = <span class="number">0xE40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flBounceScale: usize = <span class="number">0xE44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMinRoughness: usize = <span class="number">0xE48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vAlternateColor: usize = <span class="number">0xE4C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_fAlternateColorBrightness: usize = <span class="number">0xE58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFog: usize = <span class="number">0xE5C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFogStrength: usize = <span class="number">0xE60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFogShadows: usize = <span class="number">0xE64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFogScale: usize = <span class="number">0xE68</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeSizeStart: usize = <span class="number">0xE6C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeSizeEnd: usize = <span class="number">0xE70</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowFadeSizeStart: usize = <span class="number">0xE74</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowFadeSizeEnd: usize = <span class="number">0xE78</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bPrecomputedFieldsValid: usize = <span class="number">0xE7C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vPrecomputedBoundsMins: usize = <span class="number">0xE80</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedBoundsMaxs: usize = <span class="number">0xE8C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBOrigin: usize = <span class="number">0xE98</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBAngles: usize = <span class="number">0xEA4</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vPrecomputedOBBExtent: usize = <span class="number">0xEB0</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_BaseButton { <span class="comment">// C_BaseToggle
+    </span><span class="kw">pub const </span>m_glowEntity: usize = <span class="number">0xCC0</span>; <span class="comment">// CHandle&lt;C_BaseModelEntity&gt;
+    </span><span class="kw">pub const </span>m_usable: usize = <span class="number">0xCC4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_szDisplayText: usize = <span class="number">0xCC8</span>; <span class="comment">// CUtlSymbolLarge
+</span>}
+
+<span class="kw">pub mod </span>C_BaseCSGrenade { <span class="comment">// C_CSWeaponBase
+    </span><span class="kw">pub const </span>m_bClientPredictDelete: usize = <span class="number">0x1A10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRedraw: usize = <span class="number">0x1A11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsHeldByPlayer: usize = <span class="number">0x1A12</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPinPulled: usize = <span class="number">0x1A13</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bJumpThrow: usize = <span class="number">0x1A14</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bThrowAnimating: usize = <span class="number">0x1A15</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fThrowTime: usize = <span class="number">0x1A18</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flThrowStrength: usize = <span class="number">0x1A1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flThrowStrengthApproach: usize = <span class="number">0x1A20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fDropTime: usize = <span class="number">0x1A24</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bJustPulledPin: usize = <span class="number">0x1A28</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nNextHoldTick: usize = <span class="number">0x1A2C</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_flNextHoldFrac: usize = <span class="number">0x1A30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hSwitchToWeaponAfterThrow: usize = <span class="number">0x1A34</span>; <span class="comment">// CHandle&lt;C_CSWeaponBase&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_BaseCSGrenadeProjectile { <span class="comment">// C_BaseGrenade
+    </span><span class="kw">pub const </span>m_vInitialPosition: usize = <span class="number">0x1068</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vInitialVelocity: usize = <span class="number">0x1074</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nBounces: usize = <span class="number">0x1080</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nExplodeEffectIndex: usize = <span class="number">0x1088</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;
+    </span><span class="kw">pub const </span>m_nExplodeEffectTickBegin: usize = <span class="number">0x1090</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecExplodeEffectOrigin: usize = <span class="number">0x1094</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flSpawnTime: usize = <span class="number">0x10A0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>vecLastTrailLinePos: usize = <span class="number">0x10A4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>flNextTrailLineTime: usize = <span class="number">0x10B0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bExplodeEffectBegan: usize = <span class="number">0x10B4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCanCreateGrenadeTrail: usize = <span class="number">0x10B5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nSnapshotTrajectoryEffectIndex: usize = <span class="number">0x10B8</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_hSnapshotTrajectoryParticleSnapshot: usize = <span class="number">0x10C0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIParticleSnapshot&gt;
+    </span><span class="kw">pub const </span>m_arrTrajectoryTrailPoints: usize = <span class="number">0x10C8</span>; <span class="comment">// CUtlVector&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_arrTrajectoryTrailPointCreationTimes: usize = <span class="number">0x10E0</span>; <span class="comment">// CUtlVector&lt;float&gt;
+    </span><span class="kw">pub const </span>m_flTrajectoryTrailEffectCreationTime: usize = <span class="number">0x10F8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_BaseClientUIEntity { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xCC8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_DialogXMLName: usize = <span class="number">0xCD0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_PanelClassName: usize = <span class="number">0xCD8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_PanelID: usize = <span class="number">0xCE0</span>; <span class="comment">// CUtlSymbolLarge
+</span>}
+
+<span class="kw">pub mod </span>C_BaseCombatCharacter { <span class="comment">// C_BaseFlex
+    </span><span class="kw">pub const </span>m_hMyWearables: usize = <span class="number">0x1018</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_EconWearable&gt;&gt;
+    </span><span class="kw">pub const </span>m_bloodColor: usize = <span class="number">0x1030</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_leftFootAttachment: usize = <span class="number">0x1034</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_rightFootAttachment: usize = <span class="number">0x1035</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_nWaterWakeMode: usize = <span class="number">0x1038</span>; <span class="comment">// C_BaseCombatCharacter::WaterWakeMode_t
+    </span><span class="kw">pub const </span>m_flWaterWorldZ: usize = <span class="number">0x103C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flWaterNextTraceTime: usize = <span class="number">0x1040</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFieldOfView: usize = <span class="number">0x1044</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_BaseDoor { <span class="comment">// C_BaseToggle
+    </span><span class="kw">pub const </span>m_bIsUsable: usize = <span class="number">0xCC0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BaseEntity { <span class="comment">// CEntityInstance
+    </span><span class="kw">pub const </span>m_CBodyComponent: usize = <span class="number">0x30</span>; <span class="comment">// CBodyComponent*
+    </span><span class="kw">pub const </span>m_NetworkTransmitComponent: usize = <span class="number">0x38</span>; <span class="comment">// CNetworkTransmitComponent
+    </span><span class="kw">pub const </span>m_nLastThinkTick: usize = <span class="number">0x308</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_pGameSceneNode: usize = <span class="number">0x310</span>; <span class="comment">// CGameSceneNode*
+    </span><span class="kw">pub const </span>m_pRenderComponent: usize = <span class="number">0x318</span>; <span class="comment">// CRenderComponent*
+    </span><span class="kw">pub const </span>m_pCollision: usize = <span class="number">0x320</span>; <span class="comment">// CCollisionProperty*
+    </span><span class="kw">pub const </span>m_iMaxHealth: usize = <span class="number">0x328</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iHealth: usize = <span class="number">0x32C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_lifeState: usize = <span class="number">0x330</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_bTakesDamage: usize = <span class="number">0x331</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nTakeDamageFlags: usize = <span class="number">0x334</span>; <span class="comment">// TakeDamageFlags_t
+    </span><span class="kw">pub const </span>m_ubInterpolationFrame: usize = <span class="number">0x338</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_hSceneObjectController: usize = <span class="number">0x33C</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_nNoInterpolationTick: usize = <span class="number">0x340</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nVisibilityNoInterpolationTick: usize = <span class="number">0x344</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flProxyRandomValue: usize = <span class="number">0x348</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iEFlags: usize = <span class="number">0x34C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nWaterType: usize = <span class="number">0x350</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_bInterpolateEvenWithNoModel: usize = <span class="number">0x351</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPredictionEligible: usize = <span class="number">0x352</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bApplyLayerMatchIDToModel: usize = <span class="number">0x353</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_tokLayerMatchID: usize = <span class="number">0x354</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_nSubclassID: usize = <span class="number">0x358</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_nSimulationTick: usize = <span class="number">0x368</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCurrentThinkContext: usize = <span class="number">0x36C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_aThinkFunctions: usize = <span class="number">0x370</span>; <span class="comment">// CUtlVector&lt;thinkfunc_t&gt;
+    </span><span class="kw">pub const </span>m_flAnimTime: usize = <span class="number">0x388</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSimulationTime: usize = <span class="number">0x38C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nSceneObjectOverrideFlags: usize = <span class="number">0x390</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_bHasSuccessfullyInterpolated: usize = <span class="number">0x391</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasAddedVarsToInterpolation: usize = <span class="number">0x392</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRenderEvenWhenNotSuccessfullyInterpolated: usize = <span class="number">0x393</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nInterpolationLatchDirtyFlags: usize = <span class="number">0x394</span>; <span class="comment">// int32_t[2]
+    </span><span class="kw">pub const </span>m_ListEntry: usize = <span class="number">0x39C</span>; <span class="comment">// uint16_t[11]
+    </span><span class="kw">pub const </span>m_flCreateTime: usize = <span class="number">0x3B4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flSpeed: usize = <span class="number">0x3B8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_EntClientFlags: usize = <span class="number">0x3BC</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_bClientSideRagdoll: usize = <span class="number">0x3BE</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iTeamNum: usize = <span class="number">0x3BF</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_spawnflags: usize = <span class="number">0x3C0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nNextThinkTick: usize = <span class="number">0x3C4</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_fFlags: usize = <span class="number">0x3C8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_vecAbsVelocity: usize = <span class="number">0x3CC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecVelocity: usize = <span class="number">0x3D8</span>; <span class="comment">// CNetworkVelocityVector
+    </span><span class="kw">pub const </span>m_vecBaseVelocity: usize = <span class="number">0x408</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_hEffectEntity: usize = <span class="number">0x414</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hOwnerEntity: usize = <span class="number">0x418</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_MoveCollide: usize = <span class="number">0x41C</span>; <span class="comment">// MoveCollide_t
+    </span><span class="kw">pub const </span>m_MoveType: usize = <span class="number">0x41D</span>; <span class="comment">// MoveType_t
+    </span><span class="kw">pub const </span>m_flWaterLevel: usize = <span class="number">0x420</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fEffects: usize = <span class="number">0x424</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_hGroundEntity: usize = <span class="number">0x428</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_flFriction: usize = <span class="number">0x42C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flElasticity: usize = <span class="number">0x430</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flGravityScale: usize = <span class="number">0x434</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTimeScale: usize = <span class="number">0x438</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bSimulatedEveryTick: usize = <span class="number">0x43C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAnimatedEveryTick: usize = <span class="number">0x43D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flNavIgnoreUntilTime: usize = <span class="number">0x440</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_hThink: usize = <span class="number">0x444</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_fBBoxVisFlags: usize = <span class="number">0x450</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_bPredictable: usize = <span class="number">0x451</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRenderWithViewModels: usize = <span class="number">0x452</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nSplitUserPlayerPredictionSlot: usize = <span class="number">0x454</span>; <span class="comment">// CSplitScreenSlot
+    </span><span class="kw">pub const </span>m_nFirstPredictableCommand: usize = <span class="number">0x458</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLastPredictableCommand: usize = <span class="number">0x45C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hOldMoveParent: usize = <span class="number">0x460</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_Particles: usize = <span class="number">0x468</span>; <span class="comment">// CParticleProperty
+    </span><span class="kw">pub const </span>m_vecPredictedScriptFloats: usize = <span class="number">0x490</span>; <span class="comment">// CUtlVector&lt;float&gt;
+    </span><span class="kw">pub const </span>m_vecPredictedScriptFloatIDs: usize = <span class="number">0x4A8</span>; <span class="comment">// CUtlVector&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_nNextScriptVarRecordID: usize = <span class="number">0x4D8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecAngVelocity: usize = <span class="number">0x4E8</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_DataChangeEventRef: usize = <span class="number">0x4F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_dependencies: usize = <span class="number">0x4F8</span>; <span class="comment">// CUtlVector&lt;CEntityHandle&gt;
+    </span><span class="kw">pub const </span>m_nCreationTick: usize = <span class="number">0x510</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAnimTimeChanged: usize = <span class="number">0x529</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSimulationTimeChanged: usize = <span class="number">0x52A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_sUniqueHammerID: usize = <span class="number">0x538</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>C_BaseFire { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flScale: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartScale: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleTime: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFlags: usize = <span class="number">0x54C</span>; <span class="comment">// uint32_t
+</span>}
+
+<span class="kw">pub mod </span>C_BaseFlex { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_flexWeight: usize = <span class="number">0xE90</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;float&gt;
+    </span><span class="kw">pub const </span>m_vLookTargetPosition: usize = <span class="number">0xEA8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_blinktoggle: usize = <span class="number">0xEC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nLastFlexUpdateFrameCount: usize = <span class="number">0xF20</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_CachedViewTarget: usize = <span class="number">0xF24</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nNextSceneEventId: usize = <span class="number">0xF30</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iBlink: usize = <span class="number">0xF34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_blinktime: usize = <span class="number">0xF38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_prevblinktoggle: usize = <span class="number">0xF3C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iJawOpen: usize = <span class="number">0xF40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flJawOpenAmount: usize = <span class="number">0xF44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flBlinkAmount: usize = <span class="number">0xF48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iMouthAttachment: usize = <span class="number">0xF4C</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_iEyeAttachment: usize = <span class="number">0xF4D</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_bResetFlexWeightsOnModelChange: usize = <span class="number">0xF4E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nEyeOcclusionRendererBone: usize = <span class="number">0xF68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_mEyeOcclusionRendererCameraToBoneTransform: usize = <span class="number">0xF6C</span>; <span class="comment">// matrix3x4_t
+    </span><span class="kw">pub const </span>m_vEyeOcclusionRendererHalfExtent: usize = <span class="number">0xF9C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_PhonemeClasses: usize = <span class="number">0xFB8</span>; <span class="comment">// C_BaseFlex::Emphasized_Phoneme[3]
+</span>}
+
+<span class="kw">pub mod </span>C_BaseFlex_Emphasized_Phoneme {
+    <span class="kw">pub const </span>m_sClassName: usize = <span class="number">0x0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_flAmount: usize = <span class="number">0x18</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bRequired: usize = <span class="number">0x1C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bBasechecked: usize = <span class="number">0x1D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bValid: usize = <span class="number">0x1E</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BaseGrenade { <span class="comment">// C_BaseFlex
+    </span><span class="kw">pub const </span>m_bHasWarnedAI: usize = <span class="number">0x1018</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsSmokeGrenade: usize = <span class="number">0x1019</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsLive: usize = <span class="number">0x101A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_DmgRadius: usize = <span class="number">0x101C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDetonateTime: usize = <span class="number">0x1020</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flWarnAITime: usize = <span class="number">0x1024</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDamage: usize = <span class="number">0x1028</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iszBounceSound: usize = <span class="number">0x1030</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_ExplosionSound: usize = <span class="number">0x1038</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_hThrower: usize = <span class="number">0x1044</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_flNextAttack: usize = <span class="number">0x105C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_hOriginalThrower: usize = <span class="number">0x1060</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_BaseModelEntity { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_CRenderComponent: usize = <span class="number">0xA10</span>; <span class="comment">// CRenderComponent*
+    </span><span class="kw">pub const </span>m_CHitboxComponent: usize = <span class="number">0xA18</span>; <span class="comment">// CHitboxComponent
+    </span><span class="kw">pub const </span>m_bInitModelEffects: usize = <span class="number">0xA60</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsStaticProp: usize = <span class="number">0xA61</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nLastAddDecal: usize = <span class="number">0xA64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nDecalsAdded: usize = <span class="number">0xA68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iOldHealth: usize = <span class="number">0xA6C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRenderMode: usize = <span class="number">0xA70</span>; <span class="comment">// RenderMode_t
+    </span><span class="kw">pub const </span>m_nRenderFX: usize = <span class="number">0xA71</span>; <span class="comment">// RenderFx_t
+    </span><span class="kw">pub const </span>m_bAllowFadeInView: usize = <span class="number">0xA72</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_clrRender: usize = <span class="number">0xA73</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_vecRenderAttributes: usize = <span class="number">0xA78</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;EntityRenderAttribute_t&gt;
+    </span><span class="kw">pub const </span>m_bRenderToCubemaps: usize = <span class="number">0xAE0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_Collision: usize = <span class="number">0xAE8</span>; <span class="comment">// CCollisionProperty
+    </span><span class="kw">pub const </span>m_Glow: usize = <span class="number">0xB98</span>; <span class="comment">// CGlowProperty
+    </span><span class="kw">pub const </span>m_flGlowBackfaceMult: usize = <span class="number">0xBF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fadeMinDist: usize = <span class="number">0xBF4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fadeMaxDist: usize = <span class="number">0xBF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeScale: usize = <span class="number">0xBFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flShadowStrength: usize = <span class="number">0xC00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nObjectCulling: usize = <span class="number">0xC04</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nAddDecal: usize = <span class="number">0xC08</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vDecalPosition: usize = <span class="number">0xC0C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vDecalForwardAxis: usize = <span class="number">0xC18</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flDecalHealBloodRate: usize = <span class="number">0xC24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDecalHealHeightRate: usize = <span class="number">0xC28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_ConfigEntitiesToPropagateMaterialDecalsTo: usize = <span class="number">0xC30</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseModelEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_vecViewOffset: usize = <span class="number">0xC48</span>; <span class="comment">// CNetworkViewOffsetVector
+    </span><span class="kw">pub const </span>m_pClientAlphaProperty: usize = <span class="number">0xC78</span>; <span class="comment">// CClientAlphaProperty*
+    </span><span class="kw">pub const </span>m_ClientOverrideTint: usize = <span class="number">0xC80</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bUseClientOverrideTint: usize = <span class="number">0xC84</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BasePlayerPawn { <span class="comment">// C_BaseCombatCharacter
+    </span><span class="kw">pub const </span>m_pWeaponServices: usize = <span class="number">0x10A8</span>; <span class="comment">// CPlayer_WeaponServices*
+    </span><span class="kw">pub const </span>m_pItemServices: usize = <span class="number">0x10B0</span>; <span class="comment">// CPlayer_ItemServices*
+    </span><span class="kw">pub const </span>m_pAutoaimServices: usize = <span class="number">0x10B8</span>; <span class="comment">// CPlayer_AutoaimServices*
+    </span><span class="kw">pub const </span>m_pObserverServices: usize = <span class="number">0x10C0</span>; <span class="comment">// CPlayer_ObserverServices*
+    </span><span class="kw">pub const </span>m_pWaterServices: usize = <span class="number">0x10C8</span>; <span class="comment">// CPlayer_WaterServices*
+    </span><span class="kw">pub const </span>m_pUseServices: usize = <span class="number">0x10D0</span>; <span class="comment">// CPlayer_UseServices*
+    </span><span class="kw">pub const </span>m_pFlashlightServices: usize = <span class="number">0x10D8</span>; <span class="comment">// CPlayer_FlashlightServices*
+    </span><span class="kw">pub const </span>m_pCameraServices: usize = <span class="number">0x10E0</span>; <span class="comment">// CPlayer_CameraServices*
+    </span><span class="kw">pub const </span>m_pMovementServices: usize = <span class="number">0x10E8</span>; <span class="comment">// CPlayer_MovementServices*
+    </span><span class="kw">pub const </span>m_ServerViewAngleChanges: usize = <span class="number">0x10F8</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;ViewAngleServerChange_t&gt;
+    </span><span class="kw">pub const </span>m_nHighestConsumedServerViewAngleChangeIndex: usize = <span class="number">0x1148</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>v_angle: usize = <span class="number">0x114C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>v_anglePrevious: usize = <span class="number">0x1158</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_iHideHUD: usize = <span class="number">0x1164</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_skybox3d: usize = <span class="number">0x1168</span>; <span class="comment">// sky3dparams_t
+    </span><span class="kw">pub const </span>m_flDeathTime: usize = <span class="number">0x11F8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_vecPredictionError: usize = <span class="number">0x11FC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flPredictionErrorTime: usize = <span class="number">0x1208</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_vecLastCameraSetupLocalOrigin: usize = <span class="number">0x120C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flLastCameraSetupTime: usize = <span class="number">0x1218</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flFOVSensitivityAdjust: usize = <span class="number">0x121C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMouseSensitivity: usize = <span class="number">0x1220</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vOldOrigin: usize = <span class="number">0x1224</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flOldSimulationTime: usize = <span class="number">0x1230</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nLastExecutedCommandNumber: usize = <span class="number">0x1234</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLastExecutedCommandTick: usize = <span class="number">0x1238</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hController: usize = <span class="number">0x123C</span>; <span class="comment">// CHandle&lt;CBasePlayerController&gt;
+    </span><span class="kw">pub const </span>m_bIsSwappingToPredictableController: usize = <span class="number">0x1240</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BasePlayerWeapon { <span class="comment">// C_EconEntity
+    </span><span class="kw">pub const </span>m_nNextPrimaryAttackTick: usize = <span class="number">0x1560</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_flNextPrimaryAttackTickRatio: usize = <span class="number">0x1564</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nNextSecondaryAttackTick: usize = <span class="number">0x1568</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_flNextSecondaryAttackTickRatio: usize = <span class="number">0x156C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iClip1: usize = <span class="number">0x1570</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iClip2: usize = <span class="number">0x1574</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_pReserveAmmo: usize = <span class="number">0x1578</span>; <span class="comment">// int32_t[2]
+</span>}
+
+<span class="kw">pub mod </span>C_BasePropDoor { <span class="comment">// C_DynamicProp
+    </span><span class="kw">pub const </span>m_eDoorState: usize = <span class="number">0x10F8</span>; <span class="comment">// DoorState_t
+    </span><span class="kw">pub const </span>m_modelChanged: usize = <span class="number">0x10FC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLocked: usize = <span class="number">0x10FD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_closedPosition: usize = <span class="number">0x1100</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_closedAngles: usize = <span class="number">0x110C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_hMaster: usize = <span class="number">0x1118</span>; <span class="comment">// CHandle&lt;C_BasePropDoor&gt;
+    </span><span class="kw">pub const </span>m_vWhereToSetLightingOrigin: usize = <span class="number">0x111C</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_BaseToggle { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_BaseTrigger { <span class="comment">// C_BaseToggle
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0xCC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bClientSidePredicted: usize = <span class="number">0xCC1</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BaseViewModel { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_vecLastFacing: usize = <span class="number">0xE88</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nViewModelIndex: usize = <span class="number">0xE94</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nAnimationParity: usize = <span class="number">0xE98</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flAnimationStartTime: usize = <span class="number">0xE9C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hWeapon: usize = <span class="number">0xEA0</span>; <span class="comment">// CHandle&lt;C_BasePlayerWeapon&gt;
+    </span><span class="kw">pub const </span>m_sVMName: usize = <span class="number">0xEA8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_sAnimationPrefix: usize = <span class="number">0xEB0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_hWeaponModel: usize = <span class="number">0xEB8</span>; <span class="comment">// CHandle&lt;C_ViewmodelWeapon&gt;
+    </span><span class="kw">pub const </span>m_iCameraAttachment: usize = <span class="number">0xEBC</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_vecLastCameraAngles: usize = <span class="number">0xEC0</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_previousElapsedDuration: usize = <span class="number">0xECC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_previousCycle: usize = <span class="number">0xED0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nOldAnimationParity: usize = <span class="number">0xED4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hOldLayerSequence: usize = <span class="number">0xED8</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_oldLayer: usize = <span class="number">0xEDC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_oldLayerStartTime: usize = <span class="number">0xEE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hControlPanel: usize = <span class="number">0xEE4</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_Beam { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_flFrameRate: usize = <span class="number">0xCC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHDRColorScale: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFireTime: usize = <span class="number">0xCC8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flDamage: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nNumBeamEnts: usize = <span class="number">0xCD0</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_queryHandleHalo: usize = <span class="number">0xCD4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hBaseMaterial: usize = <span class="number">0xCF8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_nHaloIndex: usize = <span class="number">0xD00</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_nBeamType: usize = <span class="number">0xD08</span>; <span class="comment">// BeamType_t
+    </span><span class="kw">pub const </span>m_nBeamFlags: usize = <span class="number">0xD0C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_hAttachEntity: usize = <span class="number">0xD10</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;[10]
+    </span><span class="kw">pub const </span>m_nAttachIndex: usize = <span class="number">0xD38</span>; <span class="comment">// AttachmentHandle_t[10]
+    </span><span class="kw">pub const </span>m_fWidth: usize = <span class="number">0xD44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fEndWidth: usize = <span class="number">0xD48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fFadeLength: usize = <span class="number">0xD4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fHaloScale: usize = <span class="number">0xD50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fAmplitude: usize = <span class="number">0xD54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fStartFrame: usize = <span class="number">0xD58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fSpeed: usize = <span class="number">0xD5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrame: usize = <span class="number">0xD60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nClipStyle: usize = <span class="number">0xD64</span>; <span class="comment">// BeamClipStyle_t
+    </span><span class="kw">pub const </span>m_bTurnedOff: usize = <span class="number">0xD68</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecEndPos: usize = <span class="number">0xD6C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_hEndEntity: usize = <span class="number">0xD78</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_Breakable { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_BreakableProp { <span class="comment">// CBaseProp
+    </span><span class="kw">pub const </span>m_OnBreak: usize = <span class="number">0xEC8</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_OnHealthChanged: usize = <span class="number">0xEF0</span>; <span class="comment">// CEntityOutputTemplate&lt;float&gt;
+    </span><span class="kw">pub const </span>m_OnTakeDamage: usize = <span class="number">0xF18</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_impactEnergyScale: usize = <span class="number">0xF40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iMinHealthDmg: usize = <span class="number">0xF44</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flPressureDelay: usize = <span class="number">0xF48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hBreaker: usize = <span class="number">0xF4C</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_PerformanceMode: usize = <span class="number">0xF50</span>; <span class="comment">// PerformanceMode_t
+    </span><span class="kw">pub const </span>m_flDmgModBullet: usize = <span class="number">0xF54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModClub: usize = <span class="number">0xF58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModExplosive: usize = <span class="number">0xF5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModFire: usize = <span class="number">0xF60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iszPhysicsDamageTableName: usize = <span class="number">0xF68</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszBasePropData: usize = <span class="number">0xF70</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iInteractions: usize = <span class="number">0xF78</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flPreventDamageBeforeTime: usize = <span class="number">0xF7C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bHasBreakPiecesOrCommands: usize = <span class="number">0xF80</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_explodeDamage: usize = <span class="number">0xF84</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_explodeRadius: usize = <span class="number">0xF88</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_explosionDelay: usize = <span class="number">0xF90</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_explosionBuildupSound: usize = <span class="number">0xF98</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_explosionCustomEffect: usize = <span class="number">0xFA0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_explosionCustomSound: usize = <span class="number">0xFA8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_explosionModifier: usize = <span class="number">0xFB0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_hPhysicsAttacker: usize = <span class="number">0xFB8</span>; <span class="comment">// CHandle&lt;C_BasePlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_flLastPhysicsInfluenceTime: usize = <span class="number">0xFBC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flDefaultFadeScale: usize = <span class="number">0xFC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hLastAttacker: usize = <span class="number">0xFC4</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hFlareEnt: usize = <span class="number">0xFC8</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_noGhostCollision: usize = <span class="number">0xFCC</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_BulletHitModel { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_matLocal: usize = <span class="number">0xE80</span>; <span class="comment">// matrix3x4_t
+    </span><span class="kw">pub const </span>m_iBoneIndex: usize = <span class="number">0xEB0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hPlayerParent: usize = <span class="number">0xEB4</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bIsHit: usize = <span class="number">0xEB8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimeCreated: usize = <span class="number">0xEBC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecStartPos: usize = <span class="number">0xEC0</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_C4 { <span class="comment">// C_CSWeaponBase
+    </span><span class="kw">pub const </span>m_szScreenText: usize = <span class="number">0x1A10</span>; <span class="comment">// char[32]
+    </span><span class="kw">pub const </span>m_activeLightParticleIndex: usize = <span class="number">0x1A30</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_eActiveLightEffect: usize = <span class="number">0x1A34</span>; <span class="comment">// C4LightEffect_t
+    </span><span class="kw">pub const </span>m_bStartedArming: usize = <span class="number">0x1A38</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fArmedTime: usize = <span class="number">0x1A3C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bBombPlacedAnimation: usize = <span class="number">0x1A40</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsPlantingViaUse: usize = <span class="number">0x1A41</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_entitySpottedState: usize = <span class="number">0x1A48</span>; <span class="comment">// EntitySpottedState_t
+    </span><span class="kw">pub const </span>m_nSpotRules: usize = <span class="number">0x1A60</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bPlayedArmingBeeps: usize = <span class="number">0x1A64</span>; <span class="comment">// bool[7]
+    </span><span class="kw">pub const </span>m_bBombPlanted: usize = <span class="number">0x1A6B</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDroppedFromDeath: usize = <span class="number">0x1A6C</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_CSGOViewModel { <span class="comment">// C_PredictedViewModel
+    </span><span class="kw">pub const </span>m_bShouldIgnoreOffsetAndAccuracy: usize = <span class="number">0xF10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nWeaponParity: usize = <span class="number">0xF14</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nOldWeaponParity: usize = <span class="number">0xF18</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nLastKnownAssociatedWeaponEntIndex: usize = <span class="number">0xF1C</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_bNeedToQueueHighResComposite: usize = <span class="number">0xF20</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vLoweredWeaponOffset: usize = <span class="number">0xF64</span>; <span class="comment">// QAngle
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_CounterTerroristTeamIntroCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_CounterTerroristWingmanIntroCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_EndOfMatchCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_EndOfMatchCharacterPosition { <span class="comment">// C_CSGO_TeamPreviewCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_EndOfMatchLineupEnd { <span class="comment">// C_CSGO_EndOfMatchLineupEndpoint
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_EndOfMatchLineupEndpoint { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_EndOfMatchLineupStart { <span class="comment">// C_CSGO_EndOfMatchLineupEndpoint
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_MapPreviewCameraPath { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flZFar: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flZNear: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bLoop: usize = <span class="number">0x548</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bVerticalFOV: usize = <span class="number">0x549</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bConstantSpeed: usize = <span class="number">0x54A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDuration: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPathLength: usize = <span class="number">0x590</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPathDuration: usize = <span class="number">0x594</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_MapPreviewCameraPathNode { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_szParentPathUniqueID: usize = <span class="number">0x540</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_nPathIndex: usize = <span class="number">0x548</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vInTangentLocal: usize = <span class="number">0x54C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vOutTangentLocal: usize = <span class="number">0x558</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flFOV: usize = <span class="number">0x564</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSpeed: usize = <span class="number">0x568</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flEaseIn: usize = <span class="number">0x56C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flEaseOut: usize = <span class="number">0x570</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vInTangentWorld: usize = <span class="number">0x574</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vOutTangentWorld: usize = <span class="number">0x580</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_PreviewModel { <span class="comment">// C_BaseFlex
+    </span><span class="kw">pub const </span>m_animgraph: usize = <span class="number">0x1018</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_animgraphCharacterModeString: usize = <span class="number">0x1020</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_defaultAnim: usize = <span class="number">0x1028</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nDefaultAnimLoopMode: usize = <span class="number">0x1030</span>; <span class="comment">// AnimLoopMode_t
+    </span><span class="kw">pub const </span>m_flInitialModelScale: usize = <span class="number">0x1034</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_PreviewModelAlias_csgo_item_previewmodel { <span class="comment">// C_CSGO_PreviewModel
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_PreviewPlayer { <span class="comment">// C_CSPlayerPawn
+    </span><span class="kw">pub const </span>m_animgraph: usize = <span class="number">0x23B8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_animgraphCharacterModeString: usize = <span class="number">0x23C0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_flInitialModelScale: usize = <span class="number">0x23C8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_PreviewPlayerAlias_csgo_player_previewmodel { <span class="comment">// C_CSGO_PreviewPlayer
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamIntroCharacterPosition { <span class="comment">// C_CSGO_TeamPreviewCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamIntroCounterTerroristPosition { <span class="comment">// C_CSGO_TeamIntroCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamIntroTerroristPosition { <span class="comment">// C_CSGO_TeamIntroCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamPreviewCamera { <span class="comment">// C_CSGO_MapPreviewCameraPath
+    </span><span class="kw">pub const </span>m_nVariant: usize = <span class="number">0x5A0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bDofEnabled: usize = <span class="number">0x5A4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDofNearBlurry: usize = <span class="number">0x5A8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofNearCrisp: usize = <span class="number">0x5AC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofFarCrisp: usize = <span class="number">0x5B0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofFarBlurry: usize = <span class="number">0x5B4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofTiltToGround: usize = <span class="number">0x5B8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamPreviewCharacterPosition { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_nVariant: usize = <span class="number">0x540</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRandom: usize = <span class="number">0x544</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nOrdinal: usize = <span class="number">0x548</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_sWeaponName: usize = <span class="number">0x550</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_xuid: usize = <span class="number">0x558</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_agentItem: usize = <span class="number">0x560</span>; <span class="comment">// C_EconItemView
+    </span><span class="kw">pub const </span>m_glovesItem: usize = <span class="number">0x9A8</span>; <span class="comment">// C_EconItemView
+    </span><span class="kw">pub const </span>m_weaponItem: usize = <span class="number">0xDF0</span>; <span class="comment">// C_EconItemView
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamPreviewModel { <span class="comment">// C_CSGO_PreviewPlayer
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamSelectCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamSelectCharacterPosition { <span class="comment">// C_CSGO_TeamPreviewCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamSelectCounterTerroristPosition { <span class="comment">// C_CSGO_TeamSelectCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TeamSelectTerroristPosition { <span class="comment">// C_CSGO_TeamSelectCharacterPosition
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TerroristTeamIntroCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGO_TerroristWingmanIntroCamera { <span class="comment">// C_CSGO_TeamPreviewCamera
+</span>}
+
+<span class="kw">pub mod </span>C_CSGameRules { <span class="comment">// C_TeamplayRules
+    </span><span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x8</span>; <span class="comment">// CNetworkVarChainer
+    </span><span class="kw">pub const </span>m_bFreezePeriod: usize = <span class="number">0x30</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWarmupPeriod: usize = <span class="number">0x31</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fWarmupPeriodEnd: usize = <span class="number">0x34</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_fWarmupPeriodStart: usize = <span class="number">0x38</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nTotalPausedTicks: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPauseStartTick: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bServerPaused: usize = <span class="number">0x44</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bGamePaused: usize = <span class="number">0x45</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bTerroristTimeOutActive: usize = <span class="number">0x46</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCTTimeOutActive: usize = <span class="number">0x47</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTerroristTimeOutRemaining: usize = <span class="number">0x48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCTTimeOutRemaining: usize = <span class="number">0x4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nTerroristTimeOuts: usize = <span class="number">0x50</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCTTimeOuts: usize = <span class="number">0x54</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bTechnicalTimeOut: usize = <span class="number">0x58</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMatchWaitingForResume: usize = <span class="number">0x59</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iRoundTime: usize = <span class="number">0x5C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_fMatchStartTime: usize = <span class="number">0x60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fRoundStartTime: usize = <span class="number">0x64</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flRestartRoundTime: usize = <span class="number">0x68</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bGameRestart: usize = <span class="number">0x6C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flGameStartTime: usize = <span class="number">0x70</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_timeUntilNextPhaseStarts: usize = <span class="number">0x74</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_gamePhase: usize = <span class="number">0x78</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_totalRoundsPlayed: usize = <span class="number">0x7C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRoundsPlayedThisPhase: usize = <span class="number">0x80</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nOvertimePlaying: usize = <span class="number">0x84</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iHostagesRemaining: usize = <span class="number">0x88</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAnyHostageReached: usize = <span class="number">0x8C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMapHasBombTarget: usize = <span class="number">0x8D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMapHasRescueZone: usize = <span class="number">0x8E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMapHasBuyZone: usize = <span class="number">0x8F</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsQueuedMatchmaking: usize = <span class="number">0x90</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nQueuedMatchmakingMode: usize = <span class="number">0x94</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bIsValveDS: usize = <span class="number">0x98</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLogoMap: usize = <span class="number">0x99</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPlayAllStepSoundsOnServer: usize = <span class="number">0x9A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iSpectatorSlotCount: usize = <span class="number">0x9C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_MatchDevice: usize = <span class="number">0xA0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bHasMatchStarted: usize = <span class="number">0xA4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nNextMapInMapgroup: usize = <span class="number">0xA8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szTournamentEventName: usize = <span class="number">0xAC</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_szTournamentEventStage: usize = <span class="number">0x2AC</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_szMatchStatTxt: usize = <span class="number">0x4AC</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_szTournamentPredictionsTxt: usize = <span class="number">0x6AC</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_nTournamentPredictionsPct: usize = <span class="number">0x8AC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flCMMItemDropRevealStartTime: usize = <span class="number">0x8B0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flCMMItemDropRevealEndTime: usize = <span class="number">0x8B4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bIsDroppingItems: usize = <span class="number">0x8B8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsQuestEligible: usize = <span class="number">0x8B9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsHltvActive: usize = <span class="number">0x8BA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nGuardianModeWaveNumber: usize = <span class="number">0x8BC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGuardianModeSpecialKillsRemaining: usize = <span class="number">0x8C0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGuardianModeSpecialWeaponNeeded: usize = <span class="number">0x8C4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGuardianGrenadesToGiveBots: usize = <span class="number">0x8C8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nNumHeaviesToSpawn: usize = <span class="number">0x8CC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_numGlobalGiftsGiven: usize = <span class="number">0x8D0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_numGlobalGifters: usize = <span class="number">0x8D4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_numGlobalGiftsPeriodSeconds: usize = <span class="number">0x8D8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_arrFeaturedGiftersAccounts: usize = <span class="number">0x8DC</span>; <span class="comment">// uint32_t[4]
+    </span><span class="kw">pub const </span>m_arrFeaturedGiftersGifts: usize = <span class="number">0x8EC</span>; <span class="comment">// uint32_t[4]
+    </span><span class="kw">pub const </span>m_arrProhibitedItemIndices: usize = <span class="number">0x8FC</span>; <span class="comment">// uint16_t[100]
+    </span><span class="kw">pub const </span>m_arrTournamentActiveCasterAccounts: usize = <span class="number">0x9C4</span>; <span class="comment">// uint32_t[4]
+    </span><span class="kw">pub const </span>m_numBestOfMaps: usize = <span class="number">0x9D4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nHalloweenMaskListSeed: usize = <span class="number">0x9D8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bBombDropped: usize = <span class="number">0x9DC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bBombPlanted: usize = <span class="number">0x9DD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iRoundWinStatus: usize = <span class="number">0x9E0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_eRoundWinReason: usize = <span class="number">0x9E4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bTCantBuy: usize = <span class="number">0x9E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCTCantBuy: usize = <span class="number">0x9E9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flGuardianBuyUntilTime: usize = <span class="number">0x9EC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iMatchStats_RoundResults: usize = <span class="number">0x9F0</span>; <span class="comment">// int32_t[30]
+    </span><span class="kw">pub const </span>m_iMatchStats_PlayersAlive_CT: usize = <span class="number">0xA68</span>; <span class="comment">// int32_t[30]
+    </span><span class="kw">pub const </span>m_iMatchStats_PlayersAlive_T: usize = <span class="number">0xAE0</span>; <span class="comment">// int32_t[30]
+    </span><span class="kw">pub const </span>m_TeamRespawnWaveTimes: usize = <span class="number">0xB58</span>; <span class="comment">// float[32]
+    </span><span class="kw">pub const </span>m_flNextRespawnWave: usize = <span class="number">0xBD8</span>; <span class="comment">// GameTime_t[32]
+    </span><span class="kw">pub const </span>m_nServerQuestID: usize = <span class="number">0xC58</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vMinimapMins: usize = <span class="number">0xC5C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vMinimapMaxs: usize = <span class="number">0xC68</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_MinimapVerticalSectionHeights: usize = <span class="number">0xC74</span>; <span class="comment">// float[8]
+    </span><span class="kw">pub const </span>m_bDontIncrementCoopWave: usize = <span class="number">0xC94</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSpawnedTerrorHuntHeavy: usize = <span class="number">0xC95</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nEndMatchMapGroupVoteTypes: usize = <span class="number">0xC98</span>; <span class="comment">// int32_t[10]
+    </span><span class="kw">pub const </span>m_nEndMatchMapGroupVoteOptions: usize = <span class="number">0xCC0</span>; <span class="comment">// int32_t[10]
+    </span><span class="kw">pub const </span>m_nEndMatchMapVoteWinner: usize = <span class="number">0xCE8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNumConsecutiveCTLoses: usize = <span class="number">0xCEC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNumConsecutiveTerroristLoses: usize = <span class="number">0xCF0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bMarkClientStopRecordAtRoundEnd: usize = <span class="number">0xD10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nMatchAbortedEarlyReason: usize = <span class="number">0xD68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bHasTriggeredRoundStartMusic: usize = <span class="number">0xD6C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasTriggeredCoopSpawnReset: usize = <span class="number">0xD6D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSwitchingTeamsAtRoundReset: usize = <span class="number">0xD6E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pGameModeRules: usize = <span class="number">0xD88</span>; <span class="comment">// CCSGameModeRules*
+    </span><span class="kw">pub const </span>m_RetakeRules: usize = <span class="number">0xD90</span>; <span class="comment">// C_RetakeGameRules
+    </span><span class="kw">pub const </span>m_nMatchEndCount: usize = <span class="number">0xEA8</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nTTeamIntroVariant: usize = <span class="number">0xEAC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCTTeamIntroVariant: usize = <span class="number">0xEB0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bTeamIntroPeriod: usize = <span class="number">0xEB4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLastPerfSampleTime: usize = <span class="number">0x4EC0</span>; <span class="comment">// double
+</span>}
+
+<span class="kw">pub mod </span>C_CSGameRulesProxy { <span class="comment">// C_GameRulesProxy
+    </span><span class="kw">pub const </span>m_pGameRules: usize = <span class="number">0x540</span>; <span class="comment">// C_CSGameRules*
+</span>}
+
+<span class="kw">pub mod </span>C_CSMinimapBoundary { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_CSObserverPawn { <span class="comment">// C_CSPlayerPawnBase
+    </span><span class="kw">pub const </span>m_hDetectParentChange: usize = <span class="number">0x16B8</span>; <span class="comment">// CEntityHandle
+</span>}
+
+<span class="kw">pub mod </span>C_CSPlayerPawn { <span class="comment">// C_CSPlayerPawnBase
+    </span><span class="kw">pub const </span>m_pBulletServices: usize = <span class="number">0x16B8</span>; <span class="comment">// CCSPlayer_BulletServices*
+    </span><span class="kw">pub const </span>m_pHostageServices: usize = <span class="number">0x16C0</span>; <span class="comment">// CCSPlayer_HostageServices*
+    </span><span class="kw">pub const </span>m_pBuyServices: usize = <span class="number">0x16C8</span>; <span class="comment">// CCSPlayer_BuyServices*
+    </span><span class="kw">pub const </span>m_pGlowServices: usize = <span class="number">0x16D0</span>; <span class="comment">// CCSPlayer_GlowServices*
+    </span><span class="kw">pub const </span>m_pActionTrackingServices: usize = <span class="number">0x16D8</span>; <span class="comment">// CCSPlayer_ActionTrackingServices*
+    </span><span class="kw">pub const </span>m_flHealthShotBoostExpirationTime: usize = <span class="number">0x16E0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flLastFiredWeaponTime: usize = <span class="number">0x16E4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bHasFemaleVoice: usize = <span class="number">0x16E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLandseconds: usize = <span class="number">0x16EC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldFallVelocity: usize = <span class="number">0x16F0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_szLastPlaceName: usize = <span class="number">0x16F4</span>; <span class="comment">// char[18]
+    </span><span class="kw">pub const </span>m_bPrevDefuser: usize = <span class="number">0x1706</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPrevHelmet: usize = <span class="number">0x1707</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nPrevArmorVal: usize = <span class="number">0x1708</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPrevGrenadeAmmoCount: usize = <span class="number">0x170C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_unPreviousWeaponHash: usize = <span class="number">0x1710</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unWeaponHash: usize = <span class="number">0x1714</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bInBuyZone: usize = <span class="number">0x1718</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPreviouslyInBuyZone: usize = <span class="number">0x1719</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_aimPunchAngle: usize = <span class="number">0x171C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_aimPunchAngleVel: usize = <span class="number">0x1728</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_aimPunchTickBase: usize = <span class="number">0x1734</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_aimPunchTickFraction: usize = <span class="number">0x1738</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_aimPunchCache: usize = <span class="number">0x1740</span>; <span class="comment">// CUtlVector&lt;QAngle&gt;
+    </span><span class="kw">pub const </span>m_bInLanding: usize = <span class="number">0x1760</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLandingTime: usize = <span class="number">0x1764</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bInHostageRescueZone: usize = <span class="number">0x1768</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInBombZone: usize = <span class="number">0x1769</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsBuyMenuOpen: usize = <span class="number">0x176A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimeOfLastInjury: usize = <span class="number">0x176C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flNextSprayDecalTime: usize = <span class="number">0x1770</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iRetakesOffering: usize = <span class="number">0x1888</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iRetakesOfferingCard: usize = <span class="number">0x188C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bRetakesHasDefuseKit: usize = <span class="number">0x1890</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRetakesMVPLastRound: usize = <span class="number">0x1891</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iRetakesMVPBoostItem: usize = <span class="number">0x1894</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_RetakesMVPBoostExtraUtility: usize = <span class="number">0x1898</span>; <span class="comment">// loadout_slot_t
+    </span><span class="kw">pub const </span>m_bNeedToReApplyGloves: usize = <span class="number">0x18B8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_EconGloves: usize = <span class="number">0x18C0</span>; <span class="comment">// C_EconItemView
+    </span><span class="kw">pub const </span>m_bMustSyncRagdollState: usize = <span class="number">0x1D08</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nRagdollDamageBone: usize = <span class="number">0x1D0C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vRagdollDamageForce: usize = <span class="number">0x1D10</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vRagdollDamagePosition: usize = <span class="number">0x1D1C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_szRagdollDamageWeaponName: usize = <span class="number">0x1D28</span>; <span class="comment">// char[64]
+    </span><span class="kw">pub const </span>m_bRagdollDamageHeadshot: usize = <span class="number">0x1D68</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vRagdollServerOrigin: usize = <span class="number">0x1D6C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bLastHeadBoneTransformIsValid: usize = <span class="number">0x2380</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_lastLandTime: usize = <span class="number">0x2384</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bOnGroundLastTick: usize = <span class="number">0x2388</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_qDeathEyeAngles: usize = <span class="number">0x23A4</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_bSkipOneHeadConstraintUpdate: usize = <span class="number">0x23B0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_CSPlayerPawnBase { <span class="comment">// C_BasePlayerPawn
+    </span><span class="kw">pub const </span>m_pPingServices: usize = <span class="number">0x1268</span>; <span class="comment">// CCSPlayer_PingServices*
+    </span><span class="kw">pub const </span>m_pViewModelServices: usize = <span class="number">0x1270</span>; <span class="comment">// CPlayer_ViewModelServices*
+    </span><span class="kw">pub const </span>m_fRenderingClipPlane: usize = <span class="number">0x1280</span>; <span class="comment">// float[4]
+    </span><span class="kw">pub const </span>m_nLastClipPlaneSetupFrame: usize = <span class="number">0x1290</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecLastClipCameraPos: usize = <span class="number">0x1294</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecLastClipCameraForward: usize = <span class="number">0x12A0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bClipHitStaticWorld: usize = <span class="number">0x12AC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCachedPlaneIsValid: usize = <span class="number">0x12AD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pClippingWeapon: usize = <span class="number">0x12B0</span>; <span class="comment">// C_CSWeaponBase*
+    </span><span class="kw">pub const </span>m_previousPlayerState: usize = <span class="number">0x12B8</span>; <span class="comment">// CSPlayerState
+    </span><span class="kw">pub const </span>m_flLastCollisionCeiling: usize = <span class="number">0x12BC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLastCollisionCeilingChangeTime: usize = <span class="number">0x12C0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_grenadeParameterStashTime: usize = <span class="number">0x12E0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bGrenadeParametersStashed: usize = <span class="number">0x12E4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_angStashedShootAngles: usize = <span class="number">0x12E8</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vecStashedGrenadeThrowPosition: usize = <span class="number">0x12F4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecStashedVelocity: usize = <span class="number">0x1300</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_angShootAngleHistory: usize = <span class="number">0x130C</span>; <span class="comment">// QAngle[2]
+    </span><span class="kw">pub const </span>m_vecThrowPositionHistory: usize = <span class="number">0x1324</span>; <span class="comment">// Vector[2]
+    </span><span class="kw">pub const </span>m_vecVelocityHistory: usize = <span class="number">0x133C</span>; <span class="comment">// Vector[2]
+    </span><span class="kw">pub const </span>m_thirdPersonHeading: usize = <span class="number">0x1358</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_flSlopeDropOffset: usize = <span class="number">0x1370</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSlopeDropHeight: usize = <span class="number">0x1380</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vHeadConstraintOffset: usize = <span class="number">0x1390</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bIsScoped: usize = <span class="number">0x13A8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsWalking: usize = <span class="number">0x13A9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bResumeZoom: usize = <span class="number">0x13AA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iPlayerState: usize = <span class="number">0x13AC</span>; <span class="comment">// CSPlayerState
+    </span><span class="kw">pub const </span>m_bIsDefusing: usize = <span class="number">0x13B0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsGrabbingHostage: usize = <span class="number">0x13B1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iBlockingUseActionInProgress: usize = <span class="number">0x13B4</span>; <span class="comment">// CSPlayerBlockingUseAction_t
+    </span><span class="kw">pub const </span>m_bIsRescuing: usize = <span class="number">0x13B8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fImmuneToGunGameDamageTime: usize = <span class="number">0x13BC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_fImmuneToGunGameDamageTimeLast: usize = <span class="number">0x13C0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bGunGameImmunity: usize = <span class="number">0x13C4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasMovedSinceSpawn: usize = <span class="number">0x13C5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fMolotovUseTime: usize = <span class="number">0x13C8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fMolotovDamageTime: usize = <span class="number">0x13CC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nWhichBombZone: usize = <span class="number">0x13D0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bInNoDefuseArea: usize = <span class="number">0x13D4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iThrowGrenadeCounter: usize = <span class="number">0x13D8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bWaitForNoAttack: usize = <span class="number">0x13DC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flGuardianTooFarDistFrac: usize = <span class="number">0x13E0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDetectedByEnemySensorTime: usize = <span class="number">0x13E4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flNextGuardianTooFarWarning: usize = <span class="number">0x13E8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bSuppressGuardianTooFarWarningAudio: usize = <span class="number">0x13EC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bKilledByTaser: usize = <span class="number">0x13ED</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iMoveState: usize = <span class="number">0x13F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bCanMoveDuringFreezePeriod: usize = <span class="number">0x13F4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLowerBodyYawTarget: usize = <span class="number">0x13F8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStrafing: usize = <span class="number">0x13FC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flLastSpawnTimeIndex: usize = <span class="number">0x1400</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flEmitSoundTime: usize = <span class="number">0x1404</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iAddonBits: usize = <span class="number">0x1408</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iPrimaryAddon: usize = <span class="number">0x140C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iSecondaryAddon: usize = <span class="number">0x1410</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iProgressBarDuration: usize = <span class="number">0x1414</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flProgressBarStartTime: usize = <span class="number">0x1418</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iDirection: usize = <span class="number">0x141C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iShotsFired: usize = <span class="number">0x1420</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bNightVisionOn: usize = <span class="number">0x1424</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasNightVision: usize = <span class="number">0x1425</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flVelocityModifier: usize = <span class="number">0x1428</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHitHeading: usize = <span class="number">0x142C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nHitBodyPart: usize = <span class="number">0x1430</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iStartAccount: usize = <span class="number">0x1434</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecIntroStartEyePosition: usize = <span class="number">0x1438</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecIntroStartPlayerForward: usize = <span class="number">0x1444</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flClientDeathTime: usize = <span class="number">0x1450</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flNightVisionAlpha: usize = <span class="number">0x1454</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bScreenTearFrameCaptured: usize = <span class="number">0x1458</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFlashBangTime: usize = <span class="number">0x145C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlashScreenshotAlpha: usize = <span class="number">0x1460</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlashOverlayAlpha: usize = <span class="number">0x1464</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bFlashBuildUp: usize = <span class="number">0x1468</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFlashDspHasBeenCleared: usize = <span class="number">0x1469</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFlashScreenshotHasBeenGrabbed: usize = <span class="number">0x146A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFlashMaxAlpha: usize = <span class="number">0x146C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlashDuration: usize = <span class="number">0x1470</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_lastStandingPos: usize = <span class="number">0x1474</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecLastMuzzleFlashPos: usize = <span class="number">0x1480</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_angLastMuzzleFlashAngle: usize = <span class="number">0x148C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_hMuzzleFlashShape: usize = <span class="number">0x1498</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_iHealthBarRenderMaskIndex: usize = <span class="number">0x149C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flHealthFadeValue: usize = <span class="number">0x14A0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHealthFadeAlpha: usize = <span class="number">0x14A4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nMyCollisionGroup: usize = <span class="number">0x14A8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_ignoreLadderJumpTime: usize = <span class="number">0x14AC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_ladderSurpressionTimer: usize = <span class="number">0x14B0</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_lastLadderNormal: usize = <span class="number">0x14C8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_lastLadderPos: usize = <span class="number">0x14D4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flDeathCCWeight: usize = <span class="number">0x14E8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bOldIsScoped: usize = <span class="number">0x14EC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flPrevRoundEndTime: usize = <span class="number">0x14F0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPrevMatchEndTime: usize = <span class="number">0x14F4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_unCurrentEquipmentValue: usize = <span class="number">0x14F8</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_unRoundStartEquipmentValue: usize = <span class="number">0x14FA</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_unFreezetimeEndEquipmentValue: usize = <span class="number">0x14FC</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_vecThirdPersonViewPositionOverride: usize = <span class="number">0x1500</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nHeavyAssaultSuitCooldownRemaining: usize = <span class="number">0x150C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_ArmorValue: usize = <span class="number">0x1510</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_angEyeAngles: usize = <span class="number">0x1518</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_fNextThinkPushAway: usize = <span class="number">0x1530</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bShouldAutobuyDMWeapons: usize = <span class="number">0x1534</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bShouldAutobuyNow: usize = <span class="number">0x1535</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHud_MiniScoreHidden: usize = <span class="number">0x1536</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHud_RadarHidden: usize = <span class="number">0x1537</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nLastKillerIndex: usize = <span class="number">0x1538</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_nLastConcurrentKilled: usize = <span class="number">0x153C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nDeathCamMusic: usize = <span class="number">0x1540</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iIDEntIndex: usize = <span class="number">0x1544</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_delayTargetIDTimer: usize = <span class="number">0x1548</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_iTargetedWeaponEntIndex: usize = <span class="number">0x1560</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_iOldIDEntIndex: usize = <span class="number">0x1564</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_holdTargetIDTimer: usize = <span class="number">0x1568</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_flCurrentMusicStartTime: usize = <span class="number">0x1584</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMusicRoundStartTime: usize = <span class="number">0x1588</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bDeferStartMusicOnWarmup: usize = <span class="number">0x158C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_cycleLatch: usize = <span class="number">0x1590</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_serverIntendedCycle: usize = <span class="number">0x1594</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecPlayerPatchEconIndices: usize = <span class="number">0x1598</span>; <span class="comment">// uint32_t[5]
+    </span><span class="kw">pub const </span>m_bHideTargetID: usize = <span class="number">0x15B4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nextTaserShakeTime: usize = <span class="number">0x15B8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_firstTaserShakeTime: usize = <span class="number">0x15BC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLastSmokeOverlayAlpha: usize = <span class="number">0x15C0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vLastSmokeOverlayColor: usize = <span class="number">0x15C4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nPlayerSmokedFx: usize = <span class="number">0x15D0</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_flNextMagDropTime: usize = <span class="number">0x15D4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nLastMagDropAttachmentIndex: usize = <span class="number">0x15D8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecBulletHitModels: usize = <span class="number">0x15E0</span>; <span class="comment">// CUtlVector&lt;C_BulletHitModel*&gt;
+    </span><span class="kw">pub const </span>m_vecPickupModelSlerpers: usize = <span class="number">0x15F8</span>; <span class="comment">// CUtlVector&lt;C_PickUpModelSlerper*&gt;
+    </span><span class="kw">pub const </span>m_vecLastAliveLocalVelocity: usize = <span class="number">0x1610</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_entitySpottedState: usize = <span class="number">0x1638</span>; <span class="comment">// EntitySpottedState_t
+    </span><span class="kw">pub const </span>m_nSurvivalTeamNumber: usize = <span class="number">0x1650</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bGuardianShouldSprayCustomXMark: usize = <span class="number">0x1654</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasDeathInfo: usize = <span class="number">0x1655</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDeathInfoTime: usize = <span class="number">0x1658</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecDeathInfoOrigin: usize = <span class="number">0x165C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bKilledByHeadshot: usize = <span class="number">0x1668</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hOriginalController: usize = <span class="number">0x166C</span>; <span class="comment">// CHandle&lt;CCSPlayerController&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_CSPlayerResource { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bHostageAlive: usize = <span class="number">0x540</span>; <span class="comment">// bool[12]
+    </span><span class="kw">pub const </span>m_isHostageFollowingSomeone: usize = <span class="number">0x54C</span>; <span class="comment">// bool[12]
+    </span><span class="kw">pub const </span>m_iHostageEntityIDs: usize = <span class="number">0x558</span>; <span class="comment">// CEntityIndex[12]
+    </span><span class="kw">pub const </span>m_bombsiteCenterA: usize = <span class="number">0x588</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bombsiteCenterB: usize = <span class="number">0x594</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_hostageRescueX: usize = <span class="number">0x5A0</span>; <span class="comment">// int32_t[4]
+    </span><span class="kw">pub const </span>m_hostageRescueY: usize = <span class="number">0x5B0</span>; <span class="comment">// int32_t[4]
+    </span><span class="kw">pub const </span>m_hostageRescueZ: usize = <span class="number">0x5C0</span>; <span class="comment">// int32_t[4]
+    </span><span class="kw">pub const </span>m_bEndMatchNextMapAllVoted: usize = <span class="number">0x5D0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_foundGoalPositions: usize = <span class="number">0x5D1</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_CSTeam { <span class="comment">// C_Team
+    </span><span class="kw">pub const </span>m_szTeamMatchStat: usize = <span class="number">0x5F8</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_numMapVictories: usize = <span class="number">0x7F8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bSurrendered: usize = <span class="number">0x7FC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_scoreFirstHalf: usize = <span class="number">0x800</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_scoreSecondHalf: usize = <span class="number">0x804</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_scoreOvertime: usize = <span class="number">0x808</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szClanTeamname: usize = <span class="number">0x80C</span>; <span class="comment">// char[129]
+    </span><span class="kw">pub const </span>m_iClanID: usize = <span class="number">0x890</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_szTeamFlagImage: usize = <span class="number">0x894</span>; <span class="comment">// char[8]
+    </span><span class="kw">pub const </span>m_szTeamLogoImage: usize = <span class="number">0x89C</span>; <span class="comment">// char[8]
+</span>}
+
+<span class="kw">pub mod </span>C_CSWeaponBase { <span class="comment">// C_BasePlayerWeapon
+    </span><span class="kw">pub const </span>m_flFireSequenceStartTime: usize = <span class="number">0x15D4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFireSequenceStartTimeChange: usize = <span class="number">0x15D8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFireSequenceStartTimeAck: usize = <span class="number">0x15DC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_ePlayerFireEvent: usize = <span class="number">0x15E0</span>; <span class="comment">// PlayerAnimEvent_t
+    </span><span class="kw">pub const </span>m_ePlayerFireEventAttackType: usize = <span class="number">0x15E4</span>; <span class="comment">// WeaponAttackType_t
+    </span><span class="kw">pub const </span>m_seqIdle: usize = <span class="number">0x15E8</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_seqFirePrimary: usize = <span class="number">0x15EC</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_seqFireSecondary: usize = <span class="number">0x15F0</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_thirdPersonFireSequences: usize = <span class="number">0x15F8</span>; <span class="comment">// CUtlVector&lt;HSequence&gt;
+    </span><span class="kw">pub const </span>m_hCurrentThirdPersonSequence: usize = <span class="number">0x1610</span>; <span class="comment">// HSequence
+    </span><span class="kw">pub const </span>m_nSilencerBoneIndex: usize = <span class="number">0x1614</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_thirdPersonSequences: usize = <span class="number">0x1618</span>; <span class="comment">// HSequence[7]
+    </span><span class="kw">pub const </span>m_ClientPreviousWeaponState: usize = <span class="number">0x1650</span>; <span class="comment">// CSWeaponState_t
+    </span><span class="kw">pub const </span>m_iState: usize = <span class="number">0x1654</span>; <span class="comment">// CSWeaponState_t
+    </span><span class="kw">pub const </span>m_flCrosshairDistance: usize = <span class="number">0x1658</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iAmmoLastCheck: usize = <span class="number">0x165C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iAlpha: usize = <span class="number">0x1660</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iScopeTextureID: usize = <span class="number">0x1664</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCrosshairTextureID: usize = <span class="number">0x1668</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flGunAccuracyPosition: usize = <span class="number">0x166C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nViewModelIndex: usize = <span class="number">0x1670</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bReloadsWithClips: usize = <span class="number">0x1674</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimeWeaponIdle: usize = <span class="number">0x1678</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bFireOnEmpty: usize = <span class="number">0x167C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_OnPlayerPickup: usize = <span class="number">0x1680</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_weaponMode: usize = <span class="number">0x16A8</span>; <span class="comment">// CSWeaponMode
+    </span><span class="kw">pub const </span>m_flTurningInaccuracyDelta: usize = <span class="number">0x16AC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vecTurningInaccuracyEyeDirLast: usize = <span class="number">0x16B0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flTurningInaccuracy: usize = <span class="number">0x16BC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fAccuracyPenalty: usize = <span class="number">0x16C0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLastAccuracyUpdateTime: usize = <span class="number">0x16C4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_fAccuracySmoothedForZoom: usize = <span class="number">0x16C8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fScopeZoomEndTime: usize = <span class="number">0x16CC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iRecoilIndex: usize = <span class="number">0x16D0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flRecoilIndex: usize = <span class="number">0x16D4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bBurstMode: usize = <span class="number">0x16D8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nPostponeFireReadyTicks: usize = <span class="number">0x16DC</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_flPostponeFireReadyFrac: usize = <span class="number">0x16E0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bInReload: usize = <span class="number">0x16E4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bReloadVisuallyComplete: usize = <span class="number">0x16E5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDroppedAtTime: usize = <span class="number">0x16E8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bIsHauledBack: usize = <span class="number">0x16EC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSilencerOn: usize = <span class="number">0x16ED</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimeSilencerSwitchComplete: usize = <span class="number">0x16F0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iOriginalTeamNumber: usize = <span class="number">0x16F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flNextAttackRenderTimeOffset: usize = <span class="number">0x16F8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bVisualsDataSet: usize = <span class="number">0x1780</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bOldFirstPersonSpectatedState: usize = <span class="number">0x1781</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hOurPing: usize = <span class="number">0x1784</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_nOurPingIndex: usize = <span class="number">0x1788</span>; <span class="comment">// CEntityIndex
+    </span><span class="kw">pub const </span>m_vecOurPingPos: usize = <span class="number">0x178C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bGlowForPing: usize = <span class="number">0x1798</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUIWeapon: usize = <span class="number">0x1799</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hPrevOwner: usize = <span class="number">0x17A8</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_nDropTick: usize = <span class="number">0x17AC</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_donated: usize = <span class="number">0x17CC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fLastShotTime: usize = <span class="number">0x17D0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bWasOwnedByCT: usize = <span class="number">0x17D4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWasOwnedByTerrorist: usize = <span class="number">0x17D5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_gunHeat: usize = <span class="number">0x17D8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_smokeAttachments: usize = <span class="number">0x17DC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_lastSmokeTime: usize = <span class="number">0x17E0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flNextClientFireBulletTime: usize = <span class="number">0x17E4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNextClientFireBulletTime_Repredict: usize = <span class="number">0x17E8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_IronSightController: usize = <span class="number">0x18C0</span>; <span class="comment">// C_IronSightController
+    </span><span class="kw">pub const </span>m_iIronSightMode: usize = <span class="number">0x1970</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flLastLOSTraceFailureTime: usize = <span class="number">0x1980</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iNumEmptyAttacks: usize = <span class="number">0x1984</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flLastMagDropRequestTime: usize = <span class="number">0x1A00</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>C_CSWeaponBaseGun { <span class="comment">// C_CSWeaponBase
+    </span><span class="kw">pub const </span>m_zoomLevel: usize = <span class="number">0x1A10</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iBurstShotsRemaining: usize = <span class="number">0x1A14</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iSilencerBodygroup: usize = <span class="number">0x1A18</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_silencedModelIndex: usize = <span class="number">0x1A28</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_inPrecache: usize = <span class="number">0x1A2C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNeedsBoltAction: usize = <span class="number">0x1A2D</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Chicken { <span class="comment">// C_DynamicProp
+    </span><span class="kw">pub const </span>m_hHolidayHatAddon: usize = <span class="number">0x10F0</span>; <span class="comment">// CHandle&lt;CBaseAnimGraph&gt;
+    </span><span class="kw">pub const </span>m_jumpedThisFrame: usize = <span class="number">0x10F4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_leader: usize = <span class="number">0x10F8</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawnBase&gt;
+    </span><span class="kw">pub const </span>m_AttributeManager: usize = <span class="number">0x1100</span>; <span class="comment">// C_AttributeContainer
+    </span><span class="kw">pub const </span>m_OriginalOwnerXuidLow: usize = <span class="number">0x15A8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_OriginalOwnerXuidHigh: usize = <span class="number">0x15AC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bAttributesInitialized: usize = <span class="number">0x15B0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hWaterWakeParticles: usize = <span class="number">0x15B4</span>; <span class="comment">// ParticleIndex_t
+</span>}
+
+<span class="kw">pub mod </span>C_ClientRagdoll { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_bFadeOut: usize = <span class="number">0xE80</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bImportant: usize = <span class="number">0xE81</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flEffectTime: usize = <span class="number">0xE84</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_gibDespawnTime: usize = <span class="number">0xE88</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iCurrentFriction: usize = <span class="number">0xE8C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iMinFriction: usize = <span class="number">0xE90</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iMaxFriction: usize = <span class="number">0xE94</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iFrictionAnimState: usize = <span class="number">0xE98</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bReleaseRagdoll: usize = <span class="number">0xE9C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iEyeAttachment: usize = <span class="number">0xE9D</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_bFadingOut: usize = <span class="number">0xE9E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flScaleEnd: usize = <span class="number">0xEA0</span>; <span class="comment">// float[10]
+    </span><span class="kw">pub const </span>m_flScaleTimeStart: usize = <span class="number">0xEC8</span>; <span class="comment">// GameTime_t[10]
+    </span><span class="kw">pub const </span>m_flScaleTimeEnd: usize = <span class="number">0xEF0</span>; <span class="comment">// GameTime_t[10]
+</span>}
+
+<span class="kw">pub mod </span>C_ColorCorrection { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_vecOrigin: usize = <span class="number">0x540</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_MinFalloff: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_MaxFalloff: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeInDuration: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeOutDuration: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMaxWeight: usize = <span class="number">0x55C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCurWeight: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_netlookupFilename: usize = <span class="number">0x564</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x764</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMaster: usize = <span class="number">0x765</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bClientSide: usize = <span class="number">0x766</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bExclusive: usize = <span class="number">0x767</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEnabledOnClient: usize = <span class="number">0x768</span>; <span class="comment">// bool[1]
+    </span><span class="kw">pub const </span>m_flCurWeightOnClient: usize = <span class="number">0x76C</span>; <span class="comment">// float[1]
+    </span><span class="kw">pub const </span>m_bFadingIn: usize = <span class="number">0x770</span>; <span class="comment">// bool[1]
+    </span><span class="kw">pub const </span>m_flFadeStartWeight: usize = <span class="number">0x774</span>; <span class="comment">// float[1]
+    </span><span class="kw">pub const </span>m_flFadeStartTime: usize = <span class="number">0x778</span>; <span class="comment">// float[1]
+    </span><span class="kw">pub const </span>m_flFadeDuration: usize = <span class="number">0x77C</span>; <span class="comment">// float[1]
+</span>}
+
+<span class="kw">pub mod </span>C_ColorCorrectionVolume { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_LastEnterWeight: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_LastEnterTime: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_LastExitWeight: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_LastExitTime: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xCD8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_MaxWeight: usize = <span class="number">0xCDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_FadeDuration: usize = <span class="number">0xCE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Weight: usize = <span class="number">0xCE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_lookupFilename: usize = <span class="number">0xCE8</span>; <span class="comment">// char[512]
+</span>}
+
+<span class="kw">pub mod </span>C_CommandContext {
+    <span class="kw">pub const </span>needsprocessing: usize = <span class="number">0x0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>command_number: usize = <span class="number">0xA8</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_CsmFovOverride { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_cameraName: usize = <span class="number">0x540</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_flCsmFovOverrideValue: usize = <span class="number">0x548</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_DEagle { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_DecoyGrenade { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_DecoyProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+    </span><span class="kw">pub const </span>m_nDecoyShotTick: usize = <span class="number">0x1100</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nClientLastKnownDecoyShotTick: usize = <span class="number">0x1104</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flTimeParticleEffectSpawn: usize = <span class="number">0x1128</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>C_DynamicLight { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_Flags: usize = <span class="number">0xCC0</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_LightStyle: usize = <span class="number">0xCC1</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_Radius: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Exponent: usize = <span class="number">0xCC8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_InnerAngle: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_OuterAngle: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_SpotRadius: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_DynamicProp { <span class="comment">// C_BreakableProp
+    </span><span class="kw">pub const </span>m_bUseHitboxesForRenderBox: usize = <span class="number">0xFD0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUseAnimGraph: usize = <span class="number">0xFD1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pOutputAnimBegun: usize = <span class="number">0xFD8</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_pOutputAnimOver: usize = <span class="number">0x1000</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_pOutputAnimLoopCycleOver: usize = <span class="number">0x1028</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_OnAnimReachedStart: usize = <span class="number">0x1050</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_OnAnimReachedEnd: usize = <span class="number">0x1078</span>; <span class="comment">// CEntityIOOutput
+    </span><span class="kw">pub const </span>m_iszDefaultAnim: usize = <span class="number">0x10A0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_nDefaultAnimLoopMode: usize = <span class="number">0x10A8</span>; <span class="comment">// AnimLoopMode_t
+    </span><span class="kw">pub const </span>m_bAnimateOnServer: usize = <span class="number">0x10AC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRandomizeCycle: usize = <span class="number">0x10AD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x10AE</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bScriptedMovement: usize = <span class="number">0x10AF</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFiredStartEndOutput: usize = <span class="number">0x10B0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bForceNpcExclude: usize = <span class="number">0x10B1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCreateNonSolid: usize = <span class="number">0x10B2</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsOverrideProp: usize = <span class="number">0x10B3</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iInitialGlowState: usize = <span class="number">0x10B4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGlowRange: usize = <span class="number">0x10B8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nGlowRangeMin: usize = <span class="number">0x10BC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_glowColor: usize = <span class="number">0x10C0</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_nGlowTeam: usize = <span class="number">0x10C4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCachedFrameCount: usize = <span class="number">0x10C8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecCachedRenderMins: usize = <span class="number">0x10CC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecCachedRenderMaxs: usize = <span class="number">0x10D8</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_DynamicPropAlias_cable_dynamic { <span class="comment">// C_DynamicProp
+</span>}
+
+<span class="kw">pub mod </span>C_DynamicPropAlias_dynamic_prop { <span class="comment">// C_DynamicProp
+</span>}
+
+<span class="kw">pub mod </span>C_DynamicPropAlias_prop_dynamic_override { <span class="comment">// C_DynamicProp
+</span>}
+
+<span class="kw">pub mod </span>C_EconEntity { <span class="comment">// C_BaseFlex
+    </span><span class="kw">pub const </span>m_flFlexDelayTime: usize = <span class="number">0x1028</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFlexDelayedWeight: usize = <span class="number">0x1030</span>; <span class="comment">// float*
+    </span><span class="kw">pub const </span>m_bAttributesInitialized: usize = <span class="number">0x1038</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_AttributeManager: usize = <span class="number">0x1040</span>; <span class="comment">// C_AttributeContainer
+    </span><span class="kw">pub const </span>m_OriginalOwnerXuidLow: usize = <span class="number">0x14E8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_OriginalOwnerXuidHigh: usize = <span class="number">0x14EC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nFallbackPaintKit: usize = <span class="number">0x14F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFallbackSeed: usize = <span class="number">0x14F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFallbackWear: usize = <span class="number">0x14F8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFallbackStatTrak: usize = <span class="number">0x14FC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bClientside: usize = <span class="number">0x1500</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bParticleSystemsCreated: usize = <span class="number">0x1501</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecAttachedParticles: usize = <span class="number">0x1508</span>; <span class="comment">// CUtlVector&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_hViewmodelAttachment: usize = <span class="number">0x1520</span>; <span class="comment">// CHandle&lt;CBaseAnimGraph&gt;
+    </span><span class="kw">pub const </span>m_iOldTeam: usize = <span class="number">0x1524</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAttachmentDirty: usize = <span class="number">0x1528</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nUnloadedModelIndex: usize = <span class="number">0x152C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNumOwnerValidationRetries: usize = <span class="number">0x1530</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hOldProvidee: usize = <span class="number">0x1540</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_vecAttachedModels: usize = <span class="number">0x1548</span>; <span class="comment">// CUtlVector&lt;C_EconEntity::AttachedModelData_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_EconEntity_AttachedModelData_t {
+    <span class="kw">pub const </span>m_iModelDisplayFlags: usize = <span class="number">0x0</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_EconItemView { <span class="comment">// IEconItemInterface
+    </span><span class="kw">pub const </span>m_bInventoryImageRgbaRequested: usize = <span class="number">0x60</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInventoryImageTriedCache: usize = <span class="number">0x61</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nInventoryImageRgbaWidth: usize = <span class="number">0x80</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nInventoryImageRgbaHeight: usize = <span class="number">0x84</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szCurrentLoadCachedFileName: usize = <span class="number">0x88</span>; <span class="comment">// char[260]
+    </span><span class="kw">pub const </span>m_bRestoreCustomMaterialAfterPrecache: usize = <span class="number">0x1B8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iItemDefinitionIndex: usize = <span class="number">0x1BA</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_iEntityQuality: usize = <span class="number">0x1BC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEntityLevel: usize = <span class="number">0x1C0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iItemID: usize = <span class="number">0x1C8</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_iItemIDHigh: usize = <span class="number">0x1D0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iItemIDLow: usize = <span class="number">0x1D4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iAccountID: usize = <span class="number">0x1D8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iInventoryPosition: usize = <span class="number">0x1DC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bInitialized: usize = <span class="number">0x1E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsStoreItem: usize = <span class="number">0x1E9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsTradeItem: usize = <span class="number">0x1EA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iEntityQuantity: usize = <span class="number">0x1EC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iRarityOverride: usize = <span class="number">0x1F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iQualityOverride: usize = <span class="number">0x1F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_unClientFlags: usize = <span class="number">0x1F8</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_unOverrideStyle: usize = <span class="number">0x1F9</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_AttributeList: usize = <span class="number">0x210</span>; <span class="comment">// CAttributeList
+    </span><span class="kw">pub const </span>m_NetworkedDynamicAttributes: usize = <span class="number">0x270</span>; <span class="comment">// CAttributeList
+    </span><span class="kw">pub const </span>m_szCustomName: usize = <span class="number">0x2D0</span>; <span class="comment">// char[161]
+    </span><span class="kw">pub const </span>m_szCustomNameOverride: usize = <span class="number">0x371</span>; <span class="comment">// char[161]
+    </span><span class="kw">pub const </span>m_bInitializedTags: usize = <span class="number">0x440</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EconWearable { <span class="comment">// C_EconEntity
+    </span><span class="kw">pub const </span>m_nForceSkin: usize = <span class="number">0x1560</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAlwaysAllow: usize = <span class="number">0x1564</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EntityDissolve { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0xCC8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flFadeInStart: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeInLength: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeOutModelStart: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeOutModelLength: usize = <span class="number">0xCD8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeOutStart: usize = <span class="number">0xCDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeOutLength: usize = <span class="number">0xCE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNextSparkTime: usize = <span class="number">0xCE4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nDissolveType: usize = <span class="number">0xCE8</span>; <span class="comment">// EntityDisolveType_t
+    </span><span class="kw">pub const </span>m_vDissolverOrigin: usize = <span class="number">0xCEC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nMagnitude: usize = <span class="number">0xCF8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bCoreExplode: usize = <span class="number">0xCFC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLinkedToServerEnt: usize = <span class="number">0xCFD</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EntityFlame { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_hEntAttached: usize = <span class="number">0x540</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hOldAttached: usize = <span class="number">0x568</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bCheapEffect: usize = <span class="number">0x56C</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvCombinedLightProbeVolume { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_Color: usize = <span class="number">0x1598</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flBrightness: usize = <span class="number">0x159C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hCubemapTexture: usize = <span class="number">0x15A0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_bCustomCubemapTexture: usize = <span class="number">0x15A8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hLightProbeTexture: usize = <span class="number">0x15B0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightIndicesTexture: usize = <span class="number">0x15B8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightScalarsTexture: usize = <span class="number">0x15C0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightShadowsTexture: usize = <span class="number">0x15C8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_vBoxMins: usize = <span class="number">0x15D0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxMaxs: usize = <span class="number">0x15DC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bMoveable: usize = <span class="number">0x15E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nHandshake: usize = <span class="number">0x15EC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nEnvCubeMapArrayIndex: usize = <span class="number">0x15F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPriority: usize = <span class="number">0x15F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x15F8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flEdgeFadeDist: usize = <span class="number">0x15FC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vEdgeFadeDists: usize = <span class="number">0x1600</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nLightProbeSizeX: usize = <span class="number">0x160C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeSizeY: usize = <span class="number">0x1610</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeSizeZ: usize = <span class="number">0x1614</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasX: usize = <span class="number">0x1618</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasY: usize = <span class="number">0x161C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasZ: usize = <span class="number">0x1620</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x1639</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvCubemap { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_hCubemapTexture: usize = <span class="number">0x5C0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_bCustomCubemapTexture: usize = <span class="number">0x5C8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flInfluenceRadius: usize = <span class="number">0x5CC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vBoxProjectMins: usize = <span class="number">0x5D0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxProjectMaxs: usize = <span class="number">0x5DC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bMoveable: usize = <span class="number">0x5E8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nHandshake: usize = <span class="number">0x5EC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nEnvCubeMapArrayIndex: usize = <span class="number">0x5F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPriority: usize = <span class="number">0x5F4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flEdgeFadeDist: usize = <span class="number">0x5F8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vEdgeFadeDists: usize = <span class="number">0x5FC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flDiffuseScale: usize = <span class="number">0x608</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x60C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDefaultEnvMap: usize = <span class="number">0x60D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDefaultSpecEnvMap: usize = <span class="number">0x60E</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIndoorCubeMap: usize = <span class="number">0x60F</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCopyDiffuseFromDefaultCubemap: usize = <span class="number">0x610</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x620</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvCubemapBox { <span class="comment">// C_EnvCubemap
+</span>}
+
+<span class="kw">pub mod </span>C_EnvCubemapFog { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flEndDistance: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartDistance: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogFalloffExponent: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bHeightFogEnabled: usize = <span class="number">0x54C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFogHeightWidth: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogHeightEnd: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogHeightStart: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogHeightExponent: usize = <span class="number">0x55C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLODBias: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0x564</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x565</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFogMaxOpacity: usize = <span class="number">0x568</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nCubemapSourceType: usize = <span class="number">0x56C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hSkyMaterial: usize = <span class="number">0x570</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_iszSkyEntity: usize = <span class="number">0x578</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_hFogCubemapTexture: usize = <span class="number">0x580</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_bHasHeightFogEnd: usize = <span class="number">0x588</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFirstTime: usize = <span class="number">0x589</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvDecal { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_hDecalMaterial: usize = <span class="number">0xCC0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_flWidth: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHeight: usize = <span class="number">0xCCC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDepth: usize = <span class="number">0xCD0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nRenderOrder: usize = <span class="number">0xCD4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bProjectOnWorld: usize = <span class="number">0xCD8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bProjectOnCharacters: usize = <span class="number">0xCD9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bProjectOnWater: usize = <span class="number">0xCDA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDepthSortBias: usize = <span class="number">0xCDC</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_EnvDetailController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flFadeStartDist: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeEndDist: usize = <span class="number">0x544</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_EnvLightProbeVolume { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_hLightProbeTexture: usize = <span class="number">0x1518</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightIndicesTexture: usize = <span class="number">0x1520</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightScalarsTexture: usize = <span class="number">0x1528</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hLightProbeDirectLightShadowsTexture: usize = <span class="number">0x1530</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_vBoxMins: usize = <span class="number">0x1538</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxMaxs: usize = <span class="number">0x1544</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bMoveable: usize = <span class="number">0x1550</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nHandshake: usize = <span class="number">0x1554</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPriority: usize = <span class="number">0x1558</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x155C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nLightProbeSizeX: usize = <span class="number">0x1560</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeSizeY: usize = <span class="number">0x1564</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeSizeZ: usize = <span class="number">0x1568</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasX: usize = <span class="number">0x156C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasY: usize = <span class="number">0x1570</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nLightProbeAtlasZ: usize = <span class="number">0x1574</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x1581</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvParticleGlow { <span class="comment">// C_ParticleSystem
+    </span><span class="kw">pub const </span>m_flAlphaScale: usize = <span class="number">0x1270</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRadiusScale: usize = <span class="number">0x1274</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSelfIllumScale: usize = <span class="number">0x1278</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_ColorTint: usize = <span class="number">0x127C</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_hTextureOverride: usize = <span class="number">0x1280</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_EnvProjectedTexture { <span class="comment">// C_ModelPointEntity
+</span>}
+
+<span class="kw">pub mod </span>C_EnvScreenOverlay { <span class="comment">// C_PointEntity
+    </span><span class="kw">pub const </span>m_iszOverlayNames: usize = <span class="number">0x540</span>; <span class="comment">// CUtlSymbolLarge[10]
+    </span><span class="kw">pub const </span>m_flOverlayTimes: usize = <span class="number">0x590</span>; <span class="comment">// float[10]
+    </span><span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0x5B8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iDesiredOverlay: usize = <span class="number">0x5BC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bIsActive: usize = <span class="number">0x5C0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWasActive: usize = <span class="number">0x5C1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iCachedDesiredOverlay: usize = <span class="number">0x5C4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iCurrentOverlay: usize = <span class="number">0x5C8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flCurrentOverlayTime: usize = <span class="number">0x5CC</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>C_EnvSky { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_hSkyMaterial: usize = <span class="number">0xCC0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_hSkyMaterialLightingOnly: usize = <span class="number">0xCC8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0xCD0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vTintColor: usize = <span class="number">0xCD1</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_vTintColorLightingOnly: usize = <span class="number">0xCD5</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flBrightnessScale: usize = <span class="number">0xCDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFogType: usize = <span class="number">0xCE0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFogMinStart: usize = <span class="number">0xCE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMinEnd: usize = <span class="number">0xCE8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMaxStart: usize = <span class="number">0xCEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMaxEnd: usize = <span class="number">0xCF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xCF4</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvVolumetricFogController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flScattering: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAnisotropy: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeSpeed: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDrawDistance: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeInStart: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeInEnd: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIndirectStrength: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nIndirectTextureDimX: usize = <span class="number">0x55C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nIndirectTextureDimY: usize = <span class="number">0x560</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nIndirectTextureDimZ: usize = <span class="number">0x564</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vBoxMins: usize = <span class="number">0x568</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxMaxs: usize = <span class="number">0x574</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0x580</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flStartAnisoTime: usize = <span class="number">0x584</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flStartScatterTime: usize = <span class="number">0x588</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flStartDrawDistanceTime: usize = <span class="number">0x58C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flStartAnisotropy: usize = <span class="number">0x590</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartScattering: usize = <span class="number">0x594</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartDrawDistance: usize = <span class="number">0x598</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDefaultAnisotropy: usize = <span class="number">0x59C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDefaultScattering: usize = <span class="number">0x5A0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDefaultDrawDistance: usize = <span class="number">0x5A4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x5A8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEnableIndirect: usize = <span class="number">0x5A9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsMaster: usize = <span class="number">0x5AA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hFogIndirectTexture: usize = <span class="number">0x5B0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_nForceRefreshCount: usize = <span class="number">0x5B8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bFirstTime: usize = <span class="number">0x5BC</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_EnvVolumetricFogVolume { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vBoxMins: usize = <span class="number">0x544</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vBoxMaxs: usize = <span class="number">0x550</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flStrength: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFalloffShape: usize = <span class="number">0x564</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFalloffExponent: usize = <span class="number">0x568</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_EnvWind { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_EnvWindShared: usize = <span class="number">0x540</span>; <span class="comment">// C_EnvWindShared
+</span>}
+
+<span class="kw">pub mod </span>C_EnvWindClientside { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_EnvWindShared: usize = <span class="number">0x540</span>; <span class="comment">// C_EnvWindShared
+</span>}
+
+<span class="kw">pub mod </span>C_EnvWindShared {
+    <span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0x8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_iWindSeed: usize = <span class="number">0xC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_iMinWind: usize = <span class="number">0x10</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_iMaxWind: usize = <span class="number">0x12</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_windRadius: usize = <span class="number">0x14</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iMinGust: usize = <span class="number">0x18</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_iMaxGust: usize = <span class="number">0x1A</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_flMinGustDelay: usize = <span class="number">0x1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMaxGustDelay: usize = <span class="number">0x20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flGustDuration: usize = <span class="number">0x24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iGustDirChange: usize = <span class="number">0x28</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_location: usize = <span class="number">0x2C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_iszGustSound: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iWindDir: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flWindSpeed: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_currentWindVector: usize = <span class="number">0x44</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_CurrentSwayVector: usize = <span class="number">0x50</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_PrevSwayVector: usize = <span class="number">0x5C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_iInitialWindDir: usize = <span class="number">0x68</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_flInitialWindSpeed: usize = <span class="number">0x6C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flVariationTime: usize = <span class="number">0x70</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flSwayTime: usize = <span class="number">0x74</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flSimTime: usize = <span class="number">0x78</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flSwitchTime: usize = <span class="number">0x7C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flAveWindSpeed: usize = <span class="number">0x80</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bGusting: usize = <span class="number">0x84</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flWindAngleVariation: usize = <span class="number">0x88</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flWindSpeedVariation: usize = <span class="number">0x8C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iEntIndex: usize = <span class="number">0x90</span>; <span class="comment">// CEntityIndex
+</span>}
+
+<span class="kw">pub mod </span>C_EnvWindShared_WindAveEvent_t {
+    <span class="kw">pub const </span>m_flStartWindSpeed: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAveWindSpeed: usize = <span class="number">0x4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_EnvWindShared_WindVariationEvent_t {
+    <span class="kw">pub const </span>m_flWindAngleVariation: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flWindSpeedVariation: usize = <span class="number">0x4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_FireCrackerBlast { <span class="comment">// C_Inferno
+</span>}
+
+<span class="kw">pub mod </span>C_FireFromAboveSprite { <span class="comment">// C_Sprite
+</span>}
+
+<span class="kw">pub mod </span>C_FireSmoke { <span class="comment">// C_BaseFire
+    </span><span class="kw">pub const </span>m_nFlameModelIndex: usize = <span class="number">0x550</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFlameFromAboveModelIndex: usize = <span class="number">0x554</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flScaleRegister: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleStart: usize = <span class="number">0x55C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleEnd: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleTimeStart: usize = <span class="number">0x564</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flScaleTimeEnd: usize = <span class="number">0x568</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flChildFlameSpread: usize = <span class="number">0x56C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flClipPerc: usize = <span class="number">0x580</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bClipTested: usize = <span class="number">0x584</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFadingOut: usize = <span class="number">0x585</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_tParticleSpawn: usize = <span class="number">0x588</span>; <span class="comment">// TimedEvent
+    </span><span class="kw">pub const </span>m_pFireOverlay: usize = <span class="number">0x590</span>; <span class="comment">// CFireOverlay*
+</span>}
+
+<span class="kw">pub mod </span>C_FireSprite { <span class="comment">// C_Sprite
+    </span><span class="kw">pub const </span>m_vecMoveDir: usize = <span class="number">0xDF0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bFadeFromAbove: usize = <span class="number">0xDFC</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Fish { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_pos: usize = <span class="number">0xE80</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vel: usize = <span class="number">0xE8C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_angles: usize = <span class="number">0xE98</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_localLifeState: usize = <span class="number">0xEA4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_deathDepth: usize = <span class="number">0xEA8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_deathAngle: usize = <span class="number">0xEAC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_buoyancy: usize = <span class="number">0xEB0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_wiggleTimer: usize = <span class="number">0xEB8</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_wigglePhase: usize = <span class="number">0xED0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_wiggleRate: usize = <span class="number">0xED4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_actualPos: usize = <span class="number">0xED8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_actualAngles: usize = <span class="number">0xEE4</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_poolOrigin: usize = <span class="number">0xEF0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_waterLevel: usize = <span class="number">0xEFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_gotUpdate: usize = <span class="number">0xF00</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_x: usize = <span class="number">0xF04</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_y: usize = <span class="number">0xF08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_z: usize = <span class="number">0xF0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_angle: usize = <span class="number">0xF10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_errorHistory: usize = <span class="number">0xF14</span>; <span class="comment">// float[20]
+    </span><span class="kw">pub const </span>m_errorHistoryIndex: usize = <span class="number">0xF64</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_errorHistoryCount: usize = <span class="number">0xF68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_averageError: usize = <span class="number">0xF6C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_Fists { <span class="comment">// C_CSWeaponBase
+    </span><span class="kw">pub const </span>m_bPlayingUninterruptableAct: usize = <span class="number">0x1A10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nUninterruptableActivity: usize = <span class="number">0x1A14</span>; <span class="comment">// PlayerAnimEvent_t
+</span>}
+
+<span class="kw">pub mod </span>C_Flashbang { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_FlashbangProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+</span>}
+
+<span class="kw">pub mod </span>C_FogController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_fog: usize = <span class="number">0x540</span>; <span class="comment">// fogparams_t
+    </span><span class="kw">pub const </span>m_bUseAngles: usize = <span class="number">0x5A8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iChangedVariables: usize = <span class="number">0x5AC</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_FootstepControl { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_source: usize = <span class="number">0xCC8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_destination: usize = <span class="number">0xCD0</span>; <span class="comment">// CUtlSymbolLarge
+</span>}
+
+<span class="kw">pub mod </span>C_FuncBrush { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_FuncConveyor { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_vecMoveDirEntitySpace: usize = <span class="number">0xCC8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flTargetSpeed: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nTransitionStartTick: usize = <span class="number">0xCD8</span>; <span class="comment">// GameTick_t
+    </span><span class="kw">pub const </span>m_nTransitionDurationTicks: usize = <span class="number">0xCDC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flTransitionStartSpeed: usize = <span class="number">0xCE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hConveyorModels: usize = <span class="number">0xCE8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_flCurrentConveyorOffset: usize = <span class="number">0xD00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCurrentConveyorSpeed: usize = <span class="number">0xD04</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_FuncElectrifiedVolume { <span class="comment">// C_FuncBrush
+    </span><span class="kw">pub const </span>m_nAmbientEffect: usize = <span class="number">0xCC0</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_EffectName: usize = <span class="number">0xCC8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_bState: usize = <span class="number">0xCD0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_FuncLadder { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_vecLadderDir: usize = <span class="number">0xCC0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_Dismounts: usize = <span class="number">0xCD0</span>; <span class="comment">// CUtlVector&lt;CHandle&lt;C_InfoLadderDismount&gt;&gt;
+    </span><span class="kw">pub const </span>m_vecLocalTop: usize = <span class="number">0xCE8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecPlayerMountPositionTop: usize = <span class="number">0xCF4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecPlayerMountPositionBottom: usize = <span class="number">0xD00</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flAutoRideSpeed: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0xD10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFakeLadder: usize = <span class="number">0xD11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasSlack: usize = <span class="number">0xD12</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_FuncMonitor { <span class="comment">// C_FuncBrush
+    </span><span class="kw">pub const </span>m_targetCamera: usize = <span class="number">0xCC0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nResolutionEnum: usize = <span class="number">0xCC8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bRenderShadows: usize = <span class="number">0xCCC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUseUniqueColorTarget: usize = <span class="number">0xCCD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_brushModelName: usize = <span class="number">0xCD0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_hTargetCamera: usize = <span class="number">0xCD8</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xCDC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDraw3DSkybox: usize = <span class="number">0xCDD</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_FuncMoveLinear { <span class="comment">// C_BaseToggle
+</span>}
+
+<span class="kw">pub mod </span>C_FuncRotating { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_FuncTrackTrain { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_nLongAxis: usize = <span class="number">0xCC0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flRadius: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLineLength: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_GameRules {
+}
+
+<span class="kw">pub mod </span>C_GameRulesProxy { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_GlobalLight { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_WindClothForceHandle: usize = <span class="number">0xA00</span>; <span class="comment">// uint16_t
+</span>}
+
+<span class="kw">pub mod </span>C_GradientFog { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_hGradientFogTexture: usize = <span class="number">0x540</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_flFogStartDistance: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogEndDistance: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bHeightFogEnabled: usize = <span class="number">0x550</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFogStartHeight: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogEndHeight: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFarZ: usize = <span class="number">0x55C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMaxOpacity: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogFalloffExponent: usize = <span class="number">0x564</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogVerticalExponent: usize = <span class="number">0x568</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fogColor: usize = <span class="number">0x56C</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flFogStrength: usize = <span class="number">0x570</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeTime: usize = <span class="number">0x574</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x578</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsEnabled: usize = <span class="number">0x579</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bGradientFogNeedsTextures: usize = <span class="number">0x57A</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_HEGrenade { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_HEGrenadeProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+</span>}
+
+<span class="kw">pub mod </span>C_HandleTest { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_Handle: usize = <span class="number">0x540</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bSendHandle: usize = <span class="number">0x544</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Hostage { <span class="comment">// C_BaseCombatCharacter
+    </span><span class="kw">pub const </span>m_entitySpottedState: usize = <span class="number">0x10A8</span>; <span class="comment">// EntitySpottedState_t
+    </span><span class="kw">pub const </span>m_leader: usize = <span class="number">0x10C0</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_reuseTimer: usize = <span class="number">0x10C8</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_vel: usize = <span class="number">0x10E0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_isRescued: usize = <span class="number">0x10EC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_jumpedThisFrame: usize = <span class="number">0x10ED</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nHostageState: usize = <span class="number">0x10F0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bHandsHaveBeenCut: usize = <span class="number">0x10F4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hHostageGrabber: usize = <span class="number">0x10F8</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_fLastGrabTime: usize = <span class="number">0x10FC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_vecGrabbedPos: usize = <span class="number">0x1100</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flRescueStartTime: usize = <span class="number">0x110C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flGrabSuccessTime: usize = <span class="number">0x1110</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flDropStartTime: usize = <span class="number">0x1114</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flDeadOrRescuedTime: usize = <span class="number">0x1118</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_blinkTimer: usize = <span class="number">0x1120</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_lookAt: usize = <span class="number">0x1138</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_lookAroundTimer: usize = <span class="number">0x1148</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_isInit: usize = <span class="number">0x1160</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_eyeAttachment: usize = <span class="number">0x1161</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_chestAttachment: usize = <span class="number">0x1162</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_pPredictionOwner: usize = <span class="number">0x1168</span>; <span class="comment">// CBasePlayerController*
+    </span><span class="kw">pub const </span>m_fNewestAlphaThinkTime: usize = <span class="number">0x1170</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>C_HostageCarriableProp { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_IncendiaryGrenade { <span class="comment">// C_MolotovGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_Inferno { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_nfxFireDamageEffect: usize = <span class="number">0xD00</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_firePositions: usize = <span class="number">0xD04</span>; <span class="comment">// Vector[64]
+    </span><span class="kw">pub const </span>m_fireParentPositions: usize = <span class="number">0x1004</span>; <span class="comment">// Vector[64]
+    </span><span class="kw">pub const </span>m_bFireIsBurning: usize = <span class="number">0x1304</span>; <span class="comment">// bool[64]
+    </span><span class="kw">pub const </span>m_BurnNormal: usize = <span class="number">0x1344</span>; <span class="comment">// Vector[64]
+    </span><span class="kw">pub const </span>m_fireCount: usize = <span class="number">0x1644</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nInfernoType: usize = <span class="number">0x1648</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFireLifetime: usize = <span class="number">0x164C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bInPostEffectTime: usize = <span class="number">0x1650</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_lastFireCount: usize = <span class="number">0x1654</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFireEffectTickBegin: usize = <span class="number">0x1658</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_drawableCount: usize = <span class="number">0x8260</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_blosCheck: usize = <span class="number">0x8264</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nlosperiod: usize = <span class="number">0x8268</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_maxFireHalfWidth: usize = <span class="number">0x826C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_maxFireHeight: usize = <span class="number">0x8270</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_minBounds: usize = <span class="number">0x8274</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_maxBounds: usize = <span class="number">0x8280</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flLastGrassBurnThink: usize = <span class="number">0x828C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_InfoInstructorHintHostageRescueZone { <span class="comment">// C_PointEntity
+</span>}
+
+<span class="kw">pub mod </span>C_InfoLadderDismount { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_InfoVisibilityBox { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_nMode: usize = <span class="number">0x544</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vBoxSize: usize = <span class="number">0x548</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x554</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_IronSightController {
+    <span class="kw">pub const </span>m_bIronSightAvailable: usize = <span class="number">0x10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flIronSightAmount: usize = <span class="number">0x14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightAmountGained: usize = <span class="number">0x18</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightAmountBiased: usize = <span class="number">0x1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightAmount_Interpolated: usize = <span class="number">0x20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightAmountGained_Interpolated: usize = <span class="number">0x24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flIronSightAmountBiased_Interpolated: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInterpolationLastUpdated: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_angDeltaAverage: usize = <span class="number">0x30</span>; <span class="comment">// QAngle[8]
+    </span><span class="kw">pub const </span>m_angViewLast: usize = <span class="number">0x90</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vecDotCoords: usize = <span class="number">0x9C</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_flDotBlur: usize = <span class="number">0xA4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSpeedRatio: usize = <span class="number">0xA8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_Item { <span class="comment">// C_EconEntity
+    </span><span class="kw">pub const </span>m_bShouldGlow: usize = <span class="number">0x1560</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pReticleHintTextName: usize = <span class="number">0x1561</span>; <span class="comment">// char[256]
+</span>}
+
+<span class="kw">pub mod </span>C_ItemDogtags { <span class="comment">// C_Item
+    </span><span class="kw">pub const </span>m_OwningPlayer: usize = <span class="number">0x1668</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_KillingPlayer: usize = <span class="number">0x166C</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_Item_Healthshot { <span class="comment">// C_WeaponBaseItem
+</span>}
+
+<span class="kw">pub mod </span>C_Knife { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>C_LightDirectionalEntity { <span class="comment">// C_LightEntity
+</span>}
+
+<span class="kw">pub mod </span>C_LightEntity { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_CLightComponent: usize = <span class="number">0xCC0</span>; <span class="comment">// CLightComponent*
+</span>}
+
+<span class="kw">pub mod </span>C_LightEnvironmentEntity { <span class="comment">// C_LightDirectionalEntity
+</span>}
+
+<span class="kw">pub mod </span>C_LightGlow { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_nHorizontalSize: usize = <span class="number">0xCC0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nVerticalSize: usize = <span class="number">0xCC4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nMinDist: usize = <span class="number">0xCC8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nMaxDist: usize = <span class="number">0xCCC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nOuterMaxDist: usize = <span class="number">0xCD0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flGlowProxySize: usize = <span class="number">0xCD4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHDRColorScale: usize = <span class="number">0xCD8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Glow: usize = <span class="number">0xCE0</span>; <span class="comment">// C_LightGlowOverlay
+</span>}
+
+<span class="kw">pub mod </span>C_LightGlowOverlay { <span class="comment">// CGlowOverlay
+    </span><span class="kw">pub const </span>m_vecOrigin: usize = <span class="number">0xD0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecDirection: usize = <span class="number">0xDC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nMinDist: usize = <span class="number">0xE8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nMaxDist: usize = <span class="number">0xEC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nOuterMaxDist: usize = <span class="number">0xF0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bOneSided: usize = <span class="number">0xF4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bModulateByDot: usize = <span class="number">0xF5</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_LightOrthoEntity { <span class="comment">// C_LightEntity
+</span>}
+
+<span class="kw">pub mod </span>C_LightSpotEntity { <span class="comment">// C_LightEntity
+</span>}
+
+<span class="kw">pub mod </span>C_LocalTempEntity { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>flags: usize = <span class="number">0xE98</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>die: usize = <span class="number">0xE9C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flFrameMax: usize = <span class="number">0xEA0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>x: usize = <span class="number">0xEA4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>y: usize = <span class="number">0xEA8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>fadeSpeed: usize = <span class="number">0xEAC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>bounceFactor: usize = <span class="number">0xEB0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>hitSound: usize = <span class="number">0xEB4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>priority: usize = <span class="number">0xEB8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>tentOffset: usize = <span class="number">0xEBC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecTempEntAngVelocity: usize = <span class="number">0xEC8</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>tempent_renderamt: usize = <span class="number">0xED4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecNormal: usize = <span class="number">0xED8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flSpriteScale: usize = <span class="number">0xEE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nFlickerFrame: usize = <span class="number">0xEE8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flFrameRate: usize = <span class="number">0xEEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrame: usize = <span class="number">0xEF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_pszImpactEffect: usize = <span class="number">0xEF8</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_pszParticleEffect: usize = <span class="number">0xF00</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_bParticleCollision: usize = <span class="number">0xF08</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iLastCollisionFrame: usize = <span class="number">0xF0C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vLastCollisionOrigin: usize = <span class="number">0xF10</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecTempEntVelocity: usize = <span class="number">0xF1C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecPrevAbsOrigin: usize = <span class="number">0xF28</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecTempEntAcceleration: usize = <span class="number">0xF34</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_MapPreviewParticleSystem { <span class="comment">// C_ParticleSystem
+</span>}
+
+<span class="kw">pub mod </span>C_MapVetoPickController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_nDraftType: usize = <span class="number">0x550</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTeamWinningCoinToss: usize = <span class="number">0x554</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTeamWithFirstChoice: usize = <span class="number">0x558</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nVoteMapIdsList: usize = <span class="number">0x658</span>; <span class="comment">// int32_t[7]
+    </span><span class="kw">pub const </span>m_nAccountIDs: usize = <span class="number">0x674</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId0: usize = <span class="number">0x774</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId1: usize = <span class="number">0x874</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId2: usize = <span class="number">0x974</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId3: usize = <span class="number">0xA74</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId4: usize = <span class="number">0xB74</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nMapId5: usize = <span class="number">0xC74</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nStartingSide0: usize = <span class="number">0xD74</span>; <span class="comment">// int32_t[64]
+    </span><span class="kw">pub const </span>m_nCurrentPhase: usize = <span class="number">0xE74</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPhaseStartTick: usize = <span class="number">0xE78</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPhaseDurationTicks: usize = <span class="number">0xE7C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPostDataUpdateTick: usize = <span class="number">0xE80</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bDisabledHud: usize = <span class="number">0xE84</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Melee { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>C_ModelPointEntity { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_MolotovGrenade { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_MolotovProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+    </span><span class="kw">pub const </span>m_bIsIncGrenade: usize = <span class="number">0x1100</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Multimeter { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_hTargetC4: usize = <span class="number">0xE88</span>; <span class="comment">// CHandle&lt;C_PlantedC4&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_MultiplayRules { <span class="comment">// C_GameRules
+</span>}
+
+<span class="kw">pub mod </span>C_NetTestBaseCombatCharacter { <span class="comment">// C_BaseCombatCharacter
+</span>}
+
+<span class="kw">pub mod </span>C_OmniLight { <span class="comment">// C_BarnLight
+    </span><span class="kw">pub const </span>m_flInnerAngle: usize = <span class="number">0xF08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOuterAngle: usize = <span class="number">0xF0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bShowLight: usize = <span class="number">0xF10</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_ParticleSystem { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_szSnapshotFileName: usize = <span class="number">0xCC0</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0xEC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFrozen: usize = <span class="number">0xEC1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFreezeTransitionDuration: usize = <span class="number">0xEC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nStopType: usize = <span class="number">0xEC8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAnimateDuringGameplayPause: usize = <span class="number">0xECC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iEffectIndex: usize = <span class="number">0xED0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;
+    </span><span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0xED8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flPreSimTime: usize = <span class="number">0xEDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vServerControlPoints: usize = <span class="number">0xEE0</span>; <span class="comment">// Vector[4]
+    </span><span class="kw">pub const </span>m_iServerControlPointAssignments: usize = <span class="number">0xF10</span>; <span class="comment">// uint8_t[4]
+    </span><span class="kw">pub const </span>m_hControlPointEnts: usize = <span class="number">0xF14</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;[64]
+    </span><span class="kw">pub const </span>m_bNoSave: usize = <span class="number">0x1014</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNoFreeze: usize = <span class="number">0x1015</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNoRamp: usize = <span class="number">0x1016</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bStartActive: usize = <span class="number">0x1017</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iszEffectName: usize = <span class="number">0x1018</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszControlPointNames: usize = <span class="number">0x1020</span>; <span class="comment">// CUtlSymbolLarge[64]
+    </span><span class="kw">pub const </span>m_nDataCP: usize = <span class="number">0x1220</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecDataCPValue: usize = <span class="number">0x1224</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nTintCP: usize = <span class="number">0x1230</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_clrTint: usize = <span class="number">0x1234</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bOldActive: usize = <span class="number">0x1258</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bOldFrozen: usize = <span class="number">0x1259</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_PathParticleRope { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bStartActive: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flMaxSimulationTime: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iszEffectName: usize = <span class="number">0x548</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_PathNodes_Name: usize = <span class="number">0x550</span>; <span class="comment">// CUtlVector&lt;CUtlSymbolLarge&gt;
+    </span><span class="kw">pub const </span>m_flParticleSpacing: usize = <span class="number">0x568</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSlack: usize = <span class="number">0x56C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRadius: usize = <span class="number">0x570</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_ColorTint: usize = <span class="number">0x574</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_nEffectState: usize = <span class="number">0x578</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iEffectIndex: usize = <span class="number">0x580</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIParticleSystemDefinition&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_Position: usize = <span class="number">0x588</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_TangentIn: usize = <span class="number">0x5A0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_TangentOut: usize = <span class="number">0x5B8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_Color: usize = <span class="number">0x5D0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_PinEnabled: usize = <span class="number">0x5E8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;bool&gt;
+    </span><span class="kw">pub const </span>m_PathNodes_RadiusScale: usize = <span class="number">0x600</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;float&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_PathParticleRopeAlias_path_particle_rope_clientside { <span class="comment">// C_PathParticleRope
+</span>}
+
+<span class="kw">pub mod </span>C_PhysBox { <span class="comment">// C_Breakable
+</span>}
+
+<span class="kw">pub mod </span>C_PhysMagnet { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_aAttachedObjectsFromServer: usize = <span class="number">0xE80</span>; <span class="comment">// CUtlVector&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_aAttachedObjects: usize = <span class="number">0xE98</span>; <span class="comment">// CUtlVector&lt;CHandle&lt;C_BaseEntity&gt;&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_PhysPropClientside { <span class="comment">// C_BreakableProp
+    </span><span class="kw">pub const </span>m_flTouchDelta: usize = <span class="number">0xFD0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_fDeathTime: usize = <span class="number">0xFD4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_impactEnergyScale: usize = <span class="number">0xFD8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_inertiaScale: usize = <span class="number">0xFDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModBullet: usize = <span class="number">0xFE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModClub: usize = <span class="number">0xFE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModExplosive: usize = <span class="number">0xFE8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDmgModFire: usize = <span class="number">0xFEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iszPhysicsDamageTableName: usize = <span class="number">0xFF0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszBasePropData: usize = <span class="number">0xFF8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iInteractions: usize = <span class="number">0x1000</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bHasBreakPiecesOrCommands: usize = <span class="number">0x1004</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecDamagePosition: usize = <span class="number">0x1008</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecDamageDirection: usize = <span class="number">0x1014</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nDamageType: usize = <span class="number">0x1020</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_PhysicsProp { <span class="comment">// C_BreakableProp
+    </span><span class="kw">pub const </span>m_bAwake: usize = <span class="number">0xFD0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_PhysicsPropMultiplayer { <span class="comment">// C_PhysicsProp
+</span>}
+
+<span class="kw">pub mod </span>C_PickUpModelSlerper { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_hPlayerParent: usize = <span class="number">0xE80</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hItem: usize = <span class="number">0xE84</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_flTimePickedUp: usize = <span class="number">0xE88</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_angOriginal: usize = <span class="number">0xE8C</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vecPosOriginal: usize = <span class="number">0xE98</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_angRandom: usize = <span class="number">0xEA8</span>; <span class="comment">// QAngle
+</span>}
+
+<span class="kw">pub mod </span>C_PlantedC4 { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_bBombTicking: usize = <span class="number">0xE80</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nBombSite: usize = <span class="number">0xE84</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nSourceSoundscapeHash: usize = <span class="number">0xE88</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_entitySpottedState: usize = <span class="number">0xE90</span>; <span class="comment">// EntitySpottedState_t
+    </span><span class="kw">pub const </span>m_flNextGlow: usize = <span class="number">0xEA8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flNextBeep: usize = <span class="number">0xEAC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flC4Blow: usize = <span class="number">0xEB0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bCannotBeDefused: usize = <span class="number">0xEB4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasExploded: usize = <span class="number">0xEB5</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimerLength: usize = <span class="number">0xEB8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bBeingDefused: usize = <span class="number">0xEBC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bTriggerWarning: usize = <span class="number">0xEC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bExplodeWarning: usize = <span class="number">0xEC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bC4Activated: usize = <span class="number">0xEC8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bTenSecWarning: usize = <span class="number">0xEC9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDefuseLength: usize = <span class="number">0xECC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDefuseCountDown: usize = <span class="number">0xED0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bBombDefused: usize = <span class="number">0xED4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hBombDefuser: usize = <span class="number">0xED8</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_hControlPanel: usize = <span class="number">0xEDC</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hDefuserMultimeter: usize = <span class="number">0xEE0</span>; <span class="comment">// CHandle&lt;C_Multimeter&gt;
+    </span><span class="kw">pub const </span>m_flNextRadarFlashTime: usize = <span class="number">0xEE4</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bRadarFlash: usize = <span class="number">0xEE8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pBombDefuser: usize = <span class="number">0xEEC</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_fLastDefuseTime: usize = <span class="number">0xEF0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_pPredictionOwner: usize = <span class="number">0xEF8</span>; <span class="comment">// CBasePlayerController*
+</span>}
+
+<span class="kw">pub mod </span>C_PlayerPing { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_hPlayer: usize = <span class="number">0x570</span>; <span class="comment">// CHandle&lt;C_CSPlayerPawn&gt;
+    </span><span class="kw">pub const </span>m_hPingedEntity: usize = <span class="number">0x574</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_iType: usize = <span class="number">0x578</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bUrgent: usize = <span class="number">0x57C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_szPlaceName: usize = <span class="number">0x57D</span>; <span class="comment">// char[18]
+</span>}
+
+<span class="kw">pub mod </span>C_PlayerSprayDecal { <span class="comment">// C_ModelPointEntity
+    </span><span class="kw">pub const </span>m_nUniqueID: usize = <span class="number">0xCC0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_unAccountID: usize = <span class="number">0xCC4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unTraceID: usize = <span class="number">0xCC8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_rtGcTime: usize = <span class="number">0xCCC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_vecEndPos: usize = <span class="number">0xCD0</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecStart: usize = <span class="number">0xCDC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecLeft: usize = <span class="number">0xCE8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecNormal: usize = <span class="number">0xCF4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_nPlayer: usize = <span class="number">0xD00</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nEntity: usize = <span class="number">0xD04</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nHitbox: usize = <span class="number">0xD08</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flCreationTime: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nTintID: usize = <span class="number">0xD10</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nVersion: usize = <span class="number">0xD14</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_ubSignature: usize = <span class="number">0xD15</span>; <span class="comment">// uint8_t[128]
+    </span><span class="kw">pub const </span>m_SprayRenderHelper: usize = <span class="number">0xDA0</span>; <span class="comment">// CPlayerSprayDecalRenderHelper
+</span>}
+
+<span class="kw">pub mod </span>C_PlayerVisibility { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flVisibilityStrength: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogDistanceMultiplier: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMaxDensityMultiplier: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFadeTime: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStartDisabled: usize = <span class="number">0x550</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsEnabled: usize = <span class="number">0x551</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_PointCamera { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_FOV: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Resolution: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bFogEnable: usize = <span class="number">0x548</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_FogColor: usize = <span class="number">0x549</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flFogStart: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogEnd: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFogMaxDensity: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUseScreenAspectRatio: usize = <span class="number">0x55D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flAspectRatio: usize = <span class="number">0x560</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bNoSky: usize = <span class="number">0x564</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fBrightness: usize = <span class="number">0x568</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flZFar: usize = <span class="number">0x56C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flZNear: usize = <span class="number">0x570</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bCanHLTVUse: usize = <span class="number">0x574</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDofEnabled: usize = <span class="number">0x575</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flDofNearBlurry: usize = <span class="number">0x578</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofNearCrisp: usize = <span class="number">0x57C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofFarCrisp: usize = <span class="number">0x580</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofFarBlurry: usize = <span class="number">0x584</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDofTiltToGround: usize = <span class="number">0x588</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_TargetFOV: usize = <span class="number">0x58C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_DegreesPerSecond: usize = <span class="number">0x590</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bIsOn: usize = <span class="number">0x594</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x598</span>; <span class="comment">// C_PointCamera*
+</span>}
+
+<span class="kw">pub mod </span>C_PointCameraVFOV { <span class="comment">// C_PointCamera
+    </span><span class="kw">pub const </span>m_flVerticalFOV: usize = <span class="number">0x5A0</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_PointClientUIDialog { <span class="comment">// C_BaseClientUIEntity
+    </span><span class="kw">pub const </span>m_hActivator: usize = <span class="number">0xCF0</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bStartEnabled: usize = <span class="number">0xCF4</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_PointClientUIHUD { <span class="comment">// C_BaseClientUIEntity
+    </span><span class="kw">pub const </span>m_bCheckCSSClasses: usize = <span class="number">0xCF8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIgnoreInput: usize = <span class="number">0xE80</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flWidth: usize = <span class="number">0xE84</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHeight: usize = <span class="number">0xE88</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDPI: usize = <span class="number">0xE8C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInteractDistance: usize = <span class="number">0xE90</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDepthOffset: usize = <span class="number">0xE94</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_unOwnerContext: usize = <span class="number">0xE98</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unHorizontalAlign: usize = <span class="number">0xE9C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unVerticalAlign: usize = <span class="number">0xEA0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unOrientation: usize = <span class="number">0xEA4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bAllowInteractionFromAllSceneWorlds: usize = <span class="number">0xEA8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecCSSClasses: usize = <span class="number">0xEB0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlSymbolLarge&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_PointClientUIWorldPanel { <span class="comment">// C_BaseClientUIEntity
+    </span><span class="kw">pub const </span>m_bForceRecreateNextUpdate: usize = <span class="number">0xCF8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMoveViewToPlayerNextThink: usize = <span class="number">0xCF9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCheckCSSClasses: usize = <span class="number">0xCFA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_anchorDeltaTransform: usize = <span class="number">0xD00</span>; <span class="comment">// CTransform
+    </span><span class="kw">pub const </span>m_pOffScreenIndicator: usize = <span class="number">0xEA0</span>; <span class="comment">// CPointOffScreenIndicatorUi*
+    </span><span class="kw">pub const </span>m_bIgnoreInput: usize = <span class="number">0xEC8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLit: usize = <span class="number">0xEC9</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFollowPlayerAcrossTeleport: usize = <span class="number">0xECA</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flWidth: usize = <span class="number">0xECC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHeight: usize = <span class="number">0xED0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDPI: usize = <span class="number">0xED4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInteractDistance: usize = <span class="number">0xED8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDepthOffset: usize = <span class="number">0xEDC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_unOwnerContext: usize = <span class="number">0xEE0</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unHorizontalAlign: usize = <span class="number">0xEE4</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unVerticalAlign: usize = <span class="number">0xEE8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_unOrientation: usize = <span class="number">0xEEC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_bAllowInteractionFromAllSceneWorlds: usize = <span class="number">0xEF0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecCSSClasses: usize = <span class="number">0xEF8</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CUtlSymbolLarge&gt;
+    </span><span class="kw">pub const </span>m_bOpaque: usize = <span class="number">0xF10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNoDepth: usize = <span class="number">0xF11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRenderBackface: usize = <span class="number">0xF12</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUseOffScreenIndicator: usize = <span class="number">0xF13</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bExcludeFromSaveGames: usize = <span class="number">0xF14</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bGrabbable: usize = <span class="number">0xF15</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bOnlyRenderToTexture: usize = <span class="number">0xF16</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDisableMipGen: usize = <span class="number">0xF17</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nExplicitImageLayout: usize = <span class="number">0xF18</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_PointClientUIWorldTextPanel { <span class="comment">// C_PointClientUIWorldPanel
+    </span><span class="kw">pub const </span>m_messageText: usize = <span class="number">0xF20</span>; <span class="comment">// char[512]
+</span>}
+
+<span class="kw">pub mod </span>C_PointCommentaryNode { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_bActive: usize = <span class="number">0xE88</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWasActive: usize = <span class="number">0xE89</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flEndTime: usize = <span class="number">0xE8C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0xE90</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flStartTimeInCommentary: usize = <span class="number">0xE94</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_iszCommentaryFile: usize = <span class="number">0xE98</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszTitle: usize = <span class="number">0xEA0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszSpeakers: usize = <span class="number">0xEA8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iNodeNumber: usize = <span class="number">0xEB0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iNodeNumberMax: usize = <span class="number">0xEB4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bListenedTo: usize = <span class="number">0xEB8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hViewPosition: usize = <span class="number">0xEC8</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bRestartAfterRestore: usize = <span class="number">0xECC</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_PointEntity { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_PointValueRemapper { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bDisabledOld: usize = <span class="number">0x541</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bUpdateOnClient: usize = <span class="number">0x542</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nInputType: usize = <span class="number">0x544</span>; <span class="comment">// ValueRemapperInputType_t
+    </span><span class="kw">pub const </span>m_hRemapLineStart: usize = <span class="number">0x548</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hRemapLineEnd: usize = <span class="number">0x54C</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_flMaximumChangePerSecond: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDisengageDistance: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flEngageDistance: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bRequiresUseKey: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nOutputType: usize = <span class="number">0x560</span>; <span class="comment">// ValueRemapperOutputType_t
+    </span><span class="kw">pub const </span>m_hOutputEntities: usize = <span class="number">0x568</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseEntity&gt;&gt;
+    </span><span class="kw">pub const </span>m_nHapticsType: usize = <span class="number">0x580</span>; <span class="comment">// ValueRemapperHapticsType_t
+    </span><span class="kw">pub const </span>m_nMomentumType: usize = <span class="number">0x584</span>; <span class="comment">// ValueRemapperMomentumType_t
+    </span><span class="kw">pub const </span>m_flMomentumModifier: usize = <span class="number">0x588</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSnapValue: usize = <span class="number">0x58C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCurrentMomentum: usize = <span class="number">0x590</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nRatchetType: usize = <span class="number">0x594</span>; <span class="comment">// ValueRemapperRatchetType_t
+    </span><span class="kw">pub const </span>m_flRatchetOffset: usize = <span class="number">0x598</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flInputOffset: usize = <span class="number">0x59C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bEngaged: usize = <span class="number">0x5A0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFirstUpdate: usize = <span class="number">0x5A1</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flPreviousValue: usize = <span class="number">0x5A4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flPreviousUpdateTickTime: usize = <span class="number">0x5A8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_vecPreviousTestPoint: usize = <span class="number">0x5AC</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_PointWorldText { <span class="comment">// C_ModelPointEntity
+    </span><span class="kw">pub const </span>m_bForceRecreateNextUpdate: usize = <span class="number">0xCC8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_messageText: usize = <span class="number">0xCD8</span>; <span class="comment">// char[512]
+    </span><span class="kw">pub const </span>m_FontName: usize = <span class="number">0xED8</span>; <span class="comment">// char[64]
+    </span><span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0xF18</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFullbright: usize = <span class="number">0xF19</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flWorldUnitsPerPx: usize = <span class="number">0xF1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFontSize: usize = <span class="number">0xF20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDepthOffset: usize = <span class="number">0xF24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Color: usize = <span class="number">0xF28</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_nJustifyHorizontal: usize = <span class="number">0xF2C</span>; <span class="comment">// PointWorldTextJustifyHorizontal_t
+    </span><span class="kw">pub const </span>m_nJustifyVertical: usize = <span class="number">0xF30</span>; <span class="comment">// PointWorldTextJustifyVertical_t
+    </span><span class="kw">pub const </span>m_nReorientMode: usize = <span class="number">0xF34</span>; <span class="comment">// PointWorldTextReorientMode_t
+</span>}
+
+<span class="kw">pub mod </span>C_PostProcessingVolume { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_hPostSettings: usize = <span class="number">0xCD8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCPostProcessingResource&gt;
+    </span><span class="kw">pub const </span>m_flFadeDuration: usize = <span class="number">0xCE0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMinLogExposure: usize = <span class="number">0xCE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMaxLogExposure: usize = <span class="number">0xCE8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMinExposure: usize = <span class="number">0xCEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flMaxExposure: usize = <span class="number">0xCF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flExposureCompensation: usize = <span class="number">0xCF4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flExposureFadeSpeedUp: usize = <span class="number">0xCF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flExposureFadeSpeedDown: usize = <span class="number">0xCFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapEVSmoothingRange: usize = <span class="number">0xD00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bMaster: usize = <span class="number">0xD04</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bExposureControl: usize = <span class="number">0xD05</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flRate: usize = <span class="number">0xD08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapPercentTarget: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapPercentBrightPixels: usize = <span class="number">0xD10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapMinAvgLum: usize = <span class="number">0xD14</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_Precipitation { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_flDensity: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flParticleInnerDist: usize = <span class="number">0xCD8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_pParticleDef: usize = <span class="number">0xCE0</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_tParticlePrecipTraceTimer: usize = <span class="number">0xD08</span>; <span class="comment">// TimedEvent[1]
+    </span><span class="kw">pub const </span>m_bActiveParticlePrecipEmitter: usize = <span class="number">0xD10</span>; <span class="comment">// bool[1]
+    </span><span class="kw">pub const </span>m_bParticlePrecipInitialized: usize = <span class="number">0xD11</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bHasSimulatedSinceLastSceneObjectUpdate: usize = <span class="number">0xD12</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nAvailableSheetSequencesMaxIndex: usize = <span class="number">0xD14</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_PrecipitationBlocker { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_PredictedViewModel { <span class="comment">// C_BaseViewModel
+    </span><span class="kw">pub const </span>m_LagAnglesHistory: usize = <span class="number">0xEE8</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>m_vPredictedOffset: usize = <span class="number">0xF00</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_RagdollManager { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_iCurrentMaxRagdollCount: usize = <span class="number">0x540</span>; <span class="comment">// int8_t
+</span>}
+
+<span class="kw">pub mod </span>C_RagdollProp { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_ragPos: usize = <span class="number">0xE88</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector&gt;
+    </span><span class="kw">pub const </span>m_ragAngles: usize = <span class="number">0xEA0</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;QAngle&gt;
+    </span><span class="kw">pub const </span>m_flBlendWeight: usize = <span class="number">0xEB8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hRagdollSource: usize = <span class="number">0xEBC</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_iEyeAttachment: usize = <span class="number">0xEC0</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_flBlendWeightCurrent: usize = <span class="number">0xEC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_parentPhysicsBoneIndices: usize = <span class="number">0xEC8</span>; <span class="comment">// CUtlVector&lt;int32_t&gt;
+    </span><span class="kw">pub const </span>m_worldSpaceBoneComputationOrder: usize = <span class="number">0xEE0</span>; <span class="comment">// CUtlVector&lt;int32_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>C_RagdollPropAttached { <span class="comment">// C_RagdollProp
+    </span><span class="kw">pub const </span>m_boneIndexAttached: usize = <span class="number">0xEF8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_ragdollAttachedObjectIndex: usize = <span class="number">0xEFC</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_attachmentPointBoneSpace: usize = <span class="number">0xF00</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_attachmentPointRagdollSpace: usize = <span class="number">0xF0C</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecOffset: usize = <span class="number">0xF18</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_parentTime: usize = <span class="number">0xF24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bHasParent: usize = <span class="number">0xF28</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_RectLight { <span class="comment">// C_BarnLight
+    </span><span class="kw">pub const </span>m_bShowLight: usize = <span class="number">0xF08</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_RetakeGameRules {
+    <span class="kw">pub const </span>m_nMatchSeed: usize = <span class="number">0xF8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bBlockersPresent: usize = <span class="number">0xFC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bRoundInProgress: usize = <span class="number">0xFD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iFirstSecondHalfRound: usize = <span class="number">0x100</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iBombSite: usize = <span class="number">0x104</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_RopeKeyframe { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_LinksTouchingSomething: usize = <span class="number">0xCC8</span>; <span class="comment">// CBitVec&lt;10&gt;
+    </span><span class="kw">pub const </span>m_nLinksTouchingSomething: usize = <span class="number">0xCCC</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bApplyWind: usize = <span class="number">0xCD0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_fPrevLockedPoints: usize = <span class="number">0xCD4</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iForcePointMoveCounter: usize = <span class="number">0xCD8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bPrevEndPointPos: usize = <span class="number">0xCDC</span>; <span class="comment">// bool[2]
+    </span><span class="kw">pub const </span>m_vPrevEndPointPos: usize = <span class="number">0xCE0</span>; <span class="comment">// Vector[2]
+    </span><span class="kw">pub const </span>m_flCurScroll: usize = <span class="number">0xCF8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScrollSpeed: usize = <span class="number">0xCFC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_RopeFlags: usize = <span class="number">0xD00</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_iRopeMaterialModelIndex: usize = <span class="number">0xD08</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_LightValues: usize = <span class="number">0xF80</span>; <span class="comment">// Vector[10]
+    </span><span class="kw">pub const </span>m_nSegments: usize = <span class="number">0xFF8</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_hStartPoint: usize = <span class="number">0xFFC</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_hEndPoint: usize = <span class="number">0x1000</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_iStartAttachment: usize = <span class="number">0x1004</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_iEndAttachment: usize = <span class="number">0x1005</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_Subdiv: usize = <span class="number">0x1006</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_RopeLength: usize = <span class="number">0x1008</span>; <span class="comment">// int16_t
+    </span><span class="kw">pub const </span>m_Slack: usize = <span class="number">0x100A</span>; <span class="comment">// int16_t
+    </span><span class="kw">pub const </span>m_TextureScale: usize = <span class="number">0x100C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fLockedPoints: usize = <span class="number">0x1010</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nChangeCount: usize = <span class="number">0x1011</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_Width: usize = <span class="number">0x1014</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_PhysicsDelegate: usize = <span class="number">0x1018</span>; <span class="comment">// C_RopeKeyframe::CPhysicsDelegate
+    </span><span class="kw">pub const </span>m_hMaterial: usize = <span class="number">0x1028</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_TextureHeight: usize = <span class="number">0x1030</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vecImpulse: usize = <span class="number">0x1034</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vecPreviousImpulse: usize = <span class="number">0x1040</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flCurrentGustTimer: usize = <span class="number">0x104C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flCurrentGustLifetime: usize = <span class="number">0x1050</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTimeToNextGust: usize = <span class="number">0x1054</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vWindDir: usize = <span class="number">0x1058</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vColorMod: usize = <span class="number">0x1064</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vCachedEndPointAttachmentPos: usize = <span class="number">0x1070</span>; <span class="comment">// Vector[2]
+    </span><span class="kw">pub const </span>m_vCachedEndPointAttachmentAngle: usize = <span class="number">0x1088</span>; <span class="comment">// QAngle[2]
+    </span><span class="kw">pub const </span>m_bConstrainBetweenEndpoints: usize = <span class="number">0x10A0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bEndPointAttachmentPositionsDirty: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bEndPointAttachmentAnglesDirty: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bNewDataThisFrame: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+    </span><span class="kw">pub const </span>m_bPhysicsInitted: usize = <span class="number">0x0</span>; <span class="comment">// bitfield:1
+</span>}
+
+<span class="kw">pub mod </span>C_RopeKeyframe_CPhysicsDelegate {
+    <span class="kw">pub const </span>m_pKeyframe: usize = <span class="number">0x8</span>; <span class="comment">// C_RopeKeyframe*
+</span>}
+
+<span class="kw">pub mod </span>C_SceneEntity { <span class="comment">// C_PointEntity
+    </span><span class="kw">pub const </span>m_bIsPlayingBack: usize = <span class="number">0x548</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPaused: usize = <span class="number">0x549</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bMultiplayer: usize = <span class="number">0x54A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bAutogenerated: usize = <span class="number">0x54B</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flForceClientTime: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nSceneStringIndex: usize = <span class="number">0x550</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_bClientOnly: usize = <span class="number">0x552</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hOwner: usize = <span class="number">0x554</span>; <span class="comment">// CHandle&lt;C_BaseFlex&gt;
+    </span><span class="kw">pub const </span>m_hActorList: usize = <span class="number">0x558</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BaseFlex&gt;&gt;
+    </span><span class="kw">pub const </span>m_bWasPlaying: usize = <span class="number">0x570</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_QueuedEvents: usize = <span class="number">0x580</span>; <span class="comment">// CUtlVector&lt;C_SceneEntity::QueuedEvents_t&gt;
+    </span><span class="kw">pub const </span>m_flCurrentTime: usize = <span class="number">0x598</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_SceneEntity_QueuedEvents_t {
+    <span class="kw">pub const </span>starttime: usize = <span class="number">0x0</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_SensorGrenade { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_SensorGrenadeProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+</span>}
+
+<span class="kw">pub mod </span>C_ShatterGlassShardPhysics { <span class="comment">// C_PhysicsProp
+    </span><span class="kw">pub const </span>m_ShardDesc: usize = <span class="number">0xFE0</span>; <span class="comment">// shard_model_desc_t
+</span>}
+
+<span class="kw">pub mod </span>C_SingleplayRules { <span class="comment">// C_GameRules
+</span>}
+
+<span class="kw">pub mod </span>C_SkyCamera { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_skyboxData: usize = <span class="number">0x540</span>; <span class="comment">// sky3dparams_t
+    </span><span class="kw">pub const </span>m_skyboxSlotToken: usize = <span class="number">0x5D0</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_bUseAngles: usize = <span class="number">0x5D4</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x5D8</span>; <span class="comment">// C_SkyCamera*
+</span>}
+
+<span class="kw">pub mod </span>C_SmokeGrenade { <span class="comment">// C_BaseCSGrenade
+</span>}
+
+<span class="kw">pub mod </span>C_SmokeGrenadeProjectile { <span class="comment">// C_BaseCSGrenadeProjectile
+    </span><span class="kw">pub const </span>m_nSmokeEffectTickBegin: usize = <span class="number">0x1108</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bDidSmokeEffect: usize = <span class="number">0x110C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nRandomSeed: usize = <span class="number">0x1110</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_vSmokeColor: usize = <span class="number">0x1114</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vSmokeDetonationPos: usize = <span class="number">0x1120</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_VoxelFrameData: usize = <span class="number">0x1130</span>; <span class="comment">// CUtlVector&lt;uint8_t&gt;
+    </span><span class="kw">pub const </span>m_bSmokeVolumeDataReceived: usize = <span class="number">0x1148</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSmokeEffectSpawned: usize = <span class="number">0x1149</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_SoundAreaEntityBase { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bDisabled: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bWasEnabled: usize = <span class="number">0x548</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_iszSoundAreaType: usize = <span class="number">0x550</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_vPos: usize = <span class="number">0x558</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_SoundAreaEntityOrientedBox { <span class="comment">// C_SoundAreaEntityBase
+    </span><span class="kw">pub const </span>m_vMin: usize = <span class="number">0x568</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vMax: usize = <span class="number">0x574</span>; <span class="comment">// Vector
+</span>}
+
+<span class="kw">pub mod </span>C_SoundAreaEntitySphere { <span class="comment">// C_SoundAreaEntityBase
+    </span><span class="kw">pub const </span>m_flRadius: usize = <span class="number">0x568</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetAABBEntity { <span class="comment">// C_SoundOpvarSetPointEntity
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetOBBEntity { <span class="comment">// C_SoundOpvarSetAABBEntity
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetOBBWindEntity { <span class="comment">// C_SoundOpvarSetPointBase
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetPathCornerEntity { <span class="comment">// C_SoundOpvarSetPointEntity
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetPointBase { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_iszStackName: usize = <span class="number">0x540</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszOperatorName: usize = <span class="number">0x548</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszOpvarName: usize = <span class="number">0x550</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iOpvarIndex: usize = <span class="number">0x558</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bUseAutoCompare: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_SoundOpvarSetPointEntity { <span class="comment">// C_SoundOpvarSetPointBase
+</span>}
+
+<span class="kw">pub mod </span>C_SpotlightEnd { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_flLightScale: usize = <span class="number">0xCC0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_Radius: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_Sprite { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_hSpriteMaterial: usize = <span class="number">0xCD8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_hAttachedToEntity: usize = <span class="number">0xCE0</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_nAttachment: usize = <span class="number">0xCE4</span>; <span class="comment">// AttachmentHandle_t
+    </span><span class="kw">pub const </span>m_flSpriteFramerate: usize = <span class="number">0xCE8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrame: usize = <span class="number">0xCEC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDieTime: usize = <span class="number">0xCF0</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nBrightness: usize = <span class="number">0xD00</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_flBrightnessDuration: usize = <span class="number">0xD04</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flSpriteScale: usize = <span class="number">0xD08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleDuration: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bWorldSpaceScale: usize = <span class="number">0xD10</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flGlowProxySize: usize = <span class="number">0xD14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHDRColorScale: usize = <span class="number">0xD18</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flLastTime: usize = <span class="number">0xD1C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_flMaxFrame: usize = <span class="number">0xD20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartScale: usize = <span class="number">0xD24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flDestScale: usize = <span class="number">0xD28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flScaleTimeStart: usize = <span class="number">0xD2C</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nStartBrightness: usize = <span class="number">0xD30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nDestBrightness: usize = <span class="number">0xD34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flBrightnessTimeStart: usize = <span class="number">0xD38</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_hOldSpriteMaterial: usize = <span class="number">0xD40</span>; <span class="comment">// CWeakHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_nSpriteWidth: usize = <span class="number">0xDE8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nSpriteHeight: usize = <span class="number">0xDEC</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_SpriteOriented { <span class="comment">// C_Sprite
+</span>}
+
+<span class="kw">pub mod </span>C_Sun { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_fxSSSunFlareEffectIndex: usize = <span class="number">0xCC0</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_fxSunFlareEffectIndex: usize = <span class="number">0xCC4</span>; <span class="comment">// ParticleIndex_t
+    </span><span class="kw">pub const </span>m_fdistNormalize: usize = <span class="number">0xCC8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_vSunPos: usize = <span class="number">0xCCC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vDirection: usize = <span class="number">0xCD8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_iszEffectName: usize = <span class="number">0xCE8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_iszSSEffectName: usize = <span class="number">0xCF0</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_clrOverlay: usize = <span class="number">0xCF8</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_bOn: usize = <span class="number">0xCFC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bmaxColor: usize = <span class="number">0xCFD</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flSize: usize = <span class="number">0xD00</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHazeScale: usize = <span class="number">0xD04</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRotation: usize = <span class="number">0xD08</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flHDRColorScale: usize = <span class="number">0xD0C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAlphaHaze: usize = <span class="number">0xD10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAlphaScale: usize = <span class="number">0xD14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAlphaHdr: usize = <span class="number">0xD18</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFarZScale: usize = <span class="number">0xD1C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_SunGlowOverlay { <span class="comment">// CGlowOverlay
+    </span><span class="kw">pub const </span>m_bModulateByDot: usize = <span class="number">0xD0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_Team { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_aPlayerControllers: usize = <span class="number">0x540</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;CBasePlayerController&gt;&gt;
+    </span><span class="kw">pub const </span>m_aPlayers: usize = <span class="number">0x558</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CHandle&lt;C_BasePlayerPawn&gt;&gt;
+    </span><span class="kw">pub const </span>m_iScore: usize = <span class="number">0x570</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_szTeamname: usize = <span class="number">0x574</span>; <span class="comment">// char[129]
+</span>}
+
+<span class="kw">pub mod </span>C_TeamRoundTimer { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_bTimerPaused: usize = <span class="number">0x540</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTimeRemaining: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTimerEndTime: usize = <span class="number">0x548</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_bIsDisabled: usize = <span class="number">0x54C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bShowInHUD: usize = <span class="number">0x54D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nTimerLength: usize = <span class="number">0x550</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTimerInitialLength: usize = <span class="number">0x554</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTimerMaxLength: usize = <span class="number">0x558</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bAutoCountdown: usize = <span class="number">0x55C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nSetupTimeLength: usize = <span class="number">0x560</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nState: usize = <span class="number">0x564</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bStartPaused: usize = <span class="number">0x568</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bInCaptureWatchState: usize = <span class="number">0x569</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flTotalTime: usize = <span class="number">0x56C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bStopWatchTimer: usize = <span class="number">0x570</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFireFinished: usize = <span class="number">0x571</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire5MinRemain: usize = <span class="number">0x572</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire4MinRemain: usize = <span class="number">0x573</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire3MinRemain: usize = <span class="number">0x574</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire2MinRemain: usize = <span class="number">0x575</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire1MinRemain: usize = <span class="number">0x576</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire30SecRemain: usize = <span class="number">0x577</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire10SecRemain: usize = <span class="number">0x578</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire5SecRemain: usize = <span class="number">0x579</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire4SecRemain: usize = <span class="number">0x57A</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire3SecRemain: usize = <span class="number">0x57B</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire2SecRemain: usize = <span class="number">0x57C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bFire1SecRemain: usize = <span class="number">0x57D</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nOldTimerLength: usize = <span class="number">0x580</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nOldTimerState: usize = <span class="number">0x584</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>C_TeamplayRules { <span class="comment">// C_MultiplayRules
+</span>}
+
+<span class="kw">pub mod </span>C_TextureBasedAnimatable { <span class="comment">// C_BaseModelEntity
+    </span><span class="kw">pub const </span>m_bLoop: usize = <span class="number">0xCC0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flFPS: usize = <span class="number">0xCC4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_hPositionKeys: usize = <span class="number">0xCC8</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_hRotationKeys: usize = <span class="number">0xCD0</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeCTextureBase&gt;
+    </span><span class="kw">pub const </span>m_vAnimationBoundsMin: usize = <span class="number">0xCD8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_vAnimationBoundsMax: usize = <span class="number">0xCE4</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>m_flStartTime: usize = <span class="number">0xCF0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flStartFrame: usize = <span class="number">0xCF4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_TintController { <span class="comment">// C_BaseEntity
+</span>}
+
+<span class="kw">pub mod </span>C_TonemapController2 { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_flAutoExposureMin: usize = <span class="number">0x540</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flAutoExposureMax: usize = <span class="number">0x544</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapPercentTarget: usize = <span class="number">0x548</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapPercentBrightPixels: usize = <span class="number">0x54C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapMinAvgLum: usize = <span class="number">0x550</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flExposureAdaptationSpeedUp: usize = <span class="number">0x554</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flExposureAdaptationSpeedDown: usize = <span class="number">0x558</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTonemapEVSmoothingRange: usize = <span class="number">0x55C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_TonemapController2Alias_env_tonemap_controller2 { <span class="comment">// C_TonemapController2
+</span>}
+
+<span class="kw">pub mod </span>C_TriggerBuoyancy { <span class="comment">// C_BaseTrigger
+    </span><span class="kw">pub const </span>m_BuoyancyHelper: usize = <span class="number">0xCC8</span>; <span class="comment">// CBuoyancyHelper
+    </span><span class="kw">pub const </span>m_flFluidDensity: usize = <span class="number">0xCE8</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_TriggerLerpObject { <span class="comment">// C_BaseTrigger
+</span>}
+
+<span class="kw">pub mod </span>C_TriggerMultiple { <span class="comment">// C_BaseTrigger
+</span>}
+
+<span class="kw">pub mod </span>C_TriggerVolume { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_ViewmodelAttachmentModel { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_ViewmodelWeapon { <span class="comment">// CBaseAnimGraph
+    </span><span class="kw">pub const </span>m_worldModel: usize = <span class="number">0xE80</span>; <span class="comment">// char*
+</span>}
+
+<span class="kw">pub mod </span>C_VoteController { <span class="comment">// C_BaseEntity
+    </span><span class="kw">pub const </span>m_iActiveIssueIndex: usize = <span class="number">0x550</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_iOnlyTeamToVote: usize = <span class="number">0x554</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nVoteOptionCount: usize = <span class="number">0x558</span>; <span class="comment">// int32_t[5]
+    </span><span class="kw">pub const </span>m_nPotentialVotes: usize = <span class="number">0x56C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bVotesDirty: usize = <span class="number">0x570</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bTypeDirty: usize = <span class="number">0x571</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bIsYesNoVote: usize = <span class="number">0x572</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_WaterBullet { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponAWP { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponAug { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponBaseItem { <span class="comment">// C_CSWeaponBase
+    </span><span class="kw">pub const </span>m_SequenceCompleteTimer: usize = <span class="number">0x1A10</span>; <span class="comment">// CountdownTimer
+    </span><span class="kw">pub const </span>m_bRedraw: usize = <span class="number">0x1A28</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponBizon { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponCZ75a { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponElite { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponFamas { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponFiveSeven { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponG3SG1 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponGalilAR { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponGlock { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponHKP2000 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponM249 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponM4A1 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponM4A1Silencer { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponMAC10 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponMP5SD { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponMP7 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponMP9 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponMag7 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponNOVA { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponNegev { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponP250 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponP90 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponRevolver { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponSCAR20 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponSG556 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponSSG08 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponSawedoff { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponShield { <span class="comment">// C_CSWeaponBaseGun
+    </span><span class="kw">pub const </span>m_flDisplayHealth: usize = <span class="number">0x1A30</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponTaser { <span class="comment">// C_CSWeaponBaseGun
+    </span><span class="kw">pub const </span>m_fFireTime: usize = <span class="number">0x1A30</span>; <span class="comment">// GameTime_t
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponTec9 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponUMP45 { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponUSPSilencer { <span class="comment">// C_CSWeaponBaseGun
+</span>}
+
+<span class="kw">pub mod </span>C_WeaponXM1014 { <span class="comment">// C_CSWeaponBase
+</span>}
+
+<span class="kw">pub mod </span>C_World { <span class="comment">// C_BaseModelEntity
+</span>}
+
+<span class="kw">pub mod </span>C_WorldModelGloves { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_WorldModelNametag { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_WorldModelStattrak { <span class="comment">// CBaseAnimGraph
+</span>}
+
+<span class="kw">pub mod </span>C_fogplayerparams_t {
+    <span class="kw">pub const </span>m_hCtrl: usize = <span class="number">0x8</span>; <span class="comment">// CHandle&lt;C_FogController&gt;
+    </span><span class="kw">pub const </span>m_flTransitionTime: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_OldColor: usize = <span class="number">0x10</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flOldStart: usize = <span class="number">0x14</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldEnd: usize = <span class="number">0x18</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldMaxDensity: usize = <span class="number">0x1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldHDRColorScale: usize = <span class="number">0x20</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flOldFarZ: usize = <span class="number">0x24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_NewColor: usize = <span class="number">0x28</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_flNewStart: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNewEnd: usize = <span class="number">0x30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNewMaxDensity: usize = <span class="number">0x34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNewHDRColorScale: usize = <span class="number">0x38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flNewFarZ: usize = <span class="number">0x3C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>CompMatMutatorCondition_t {
+    <span class="kw">pub const </span>m_nMutatorCondition: usize = <span class="number">0x0</span>; <span class="comment">// CompMatPropertyMutatorConditionType_t
+    </span><span class="kw">pub const </span>m_strMutatorConditionContainerName: usize = <span class="number">0x8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strMutatorConditionContainerVarName: usize = <span class="number">0x10</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strMutatorConditionContainerVarValue: usize = <span class="number">0x18</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bPassWhenTrue: usize = <span class="number">0x20</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CompMatPropertyMutator_t {
+    <span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nMutatorCommandType: usize = <span class="number">0x4</span>; <span class="comment">// CompMatPropertyMutatorType_t
+    </span><span class="kw">pub const </span>m_strInitWith_Container: usize = <span class="number">0x8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyProperty_InputContainerSrc: usize = <span class="number">0x10</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyProperty_InputContainerProperty: usize = <span class="number">0x18</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyProperty_TargetProperty: usize = <span class="number">0x20</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strRandomRollInputVars_SeedInputVar: usize = <span class="number">0x28</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_vecRandomRollInputVars_InputVarsToRoll: usize = <span class="number">0x30</span>; <span class="comment">// CUtlVector&lt;CUtlString&gt;
+    </span><span class="kw">pub const </span>m_strCopyMatchingKeys_InputContainerSrc: usize = <span class="number">0x48</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyKeysWithSuffix_InputContainerSrc: usize = <span class="number">0x50</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyKeysWithSuffix_FindSuffix: usize = <span class="number">0x58</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strCopyKeysWithSuffix_ReplaceSuffix: usize = <span class="number">0x60</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nSetValue_Value: usize = <span class="number">0x68</span>; <span class="comment">// CompositeMaterialInputLooseVariable_t
+    </span><span class="kw">pub const </span>m_strGenerateTexture_TargetParam: usize = <span class="number">0x2D8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strGenerateTexture_InitialContainer: usize = <span class="number">0x2E0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nResolution: usize = <span class="number">0x2E8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bIsScratchTarget: usize = <span class="number">0x2EC</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSplatDebugInfo: usize = <span class="number">0x2ED</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bCaptureInRenderDoc: usize = <span class="number">0x2EE</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_vecTexGenInstructions: usize = <span class="number">0x2F0</span>; <span class="comment">// CUtlVector&lt;CompMatPropertyMutator_t&gt;
+    </span><span class="kw">pub const </span>m_vecConditionalMutators: usize = <span class="number">0x308</span>; <span class="comment">// CUtlVector&lt;CompMatPropertyMutator_t&gt;
+    </span><span class="kw">pub const </span>m_strPopInputQueue_Container: usize = <span class="number">0x320</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strDrawText_InputContainerSrc: usize = <span class="number">0x328</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strDrawText_InputContainerProperty: usize = <span class="number">0x330</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_vecDrawText_Position: usize = <span class="number">0x338</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_colDrawText_Color: usize = <span class="number">0x340</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_strDrawText_Font: usize = <span class="number">0x348</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_vecConditions: usize = <span class="number">0x350</span>; <span class="comment">// CUtlVector&lt;CompMatMutatorCondition_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterialAssemblyProcedure_t {
+    <span class="kw">pub const </span>m_vecCompMatIncludes: usize = <span class="number">0x0</span>; <span class="comment">// CUtlVector&lt;CResourceName&gt;
+    </span><span class="kw">pub const </span>m_vecMatchFilters: usize = <span class="number">0x18</span>; <span class="comment">// CUtlVector&lt;CompositeMaterialMatchFilter_t&gt;
+    </span><span class="kw">pub const </span>m_vecCompositeInputContainers: usize = <span class="number">0x30</span>; <span class="comment">// CUtlVector&lt;CompositeMaterialInputContainer_t&gt;
+    </span><span class="kw">pub const </span>m_vecPropertyMutators: usize = <span class="number">0x48</span>; <span class="comment">// CUtlVector&lt;CompMatPropertyMutator_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterialEditorPoint_t {
+    <span class="kw">pub const </span>m_ModelName: usize = <span class="number">0x0</span>; <span class="comment">// CResourceName
+    </span><span class="kw">pub const </span>m_nSequenceIndex: usize = <span class="number">0xE0</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flCycle: usize = <span class="number">0xE4</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_KVModelStateChoices: usize = <span class="number">0xE8</span>; <span class="comment">// KeyValues3
+    </span><span class="kw">pub const </span>m_bEnableChildModel: usize = <span class="number">0xF8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_ChildModelName: usize = <span class="number">0x100</span>; <span class="comment">// CResourceName
+    </span><span class="kw">pub const </span>m_vecCompositeMaterialAssemblyProcedures: usize = <span class="number">0x1E0</span>; <span class="comment">// CUtlVector&lt;CompositeMaterialAssemblyProcedure_t&gt;
+    </span><span class="kw">pub const </span>m_vecCompositeMaterials: usize = <span class="number">0x1F8</span>; <span class="comment">// CUtlVector&lt;CompositeMaterial_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterialInputContainer_t {
+    <span class="kw">pub const </span>m_bEnabled: usize = <span class="number">0x0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nCompositeMaterialInputContainerSourceType: usize = <span class="number">0x4</span>; <span class="comment">// CompositeMaterialInputContainerSourceType_t
+    </span><span class="kw">pub const </span>m_strSpecificContainerMaterial: usize = <span class="number">0x8</span>; <span class="comment">// CResourceName
+    </span><span class="kw">pub const </span>m_strAttrName: usize = <span class="number">0xE8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strAlias: usize = <span class="number">0xF0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_vecLooseVariables: usize = <span class="number">0xF8</span>; <span class="comment">// CUtlVector&lt;CompositeMaterialInputLooseVariable_t&gt;
+    </span><span class="kw">pub const </span>m_strAttrNameForVar: usize = <span class="number">0x110</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bExposeExternally: usize = <span class="number">0x118</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterialInputLooseVariable_t {
+    <span class="kw">pub const </span>m_strName: usize = <span class="number">0x0</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bExposeExternally: usize = <span class="number">0x8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_strExposedFriendlyName: usize = <span class="number">0x10</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strExposedFriendlyGroupName: usize = <span class="number">0x18</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bExposedVariableIsFixedRange: usize = <span class="number">0x20</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_strExposedVisibleWhenTrue: usize = <span class="number">0x28</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strExposedHiddenWhenTrue: usize = <span class="number">0x30</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nVariableType: usize = <span class="number">0x38</span>; <span class="comment">// CompositeMaterialInputLooseVariableType_t
+    </span><span class="kw">pub const </span>m_bValueBoolean: usize = <span class="number">0x3C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nValueIntX: usize = <span class="number">0x40</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nValueIntY: usize = <span class="number">0x44</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nValueIntZ: usize = <span class="number">0x48</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nValueIntW: usize = <span class="number">0x4C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bHasFloatBounds: usize = <span class="number">0x50</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_flValueFloatX: usize = <span class="number">0x54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatX_Min: usize = <span class="number">0x58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatX_Max: usize = <span class="number">0x5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatY: usize = <span class="number">0x60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatY_Min: usize = <span class="number">0x64</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatY_Max: usize = <span class="number">0x68</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatZ: usize = <span class="number">0x6C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatZ_Min: usize = <span class="number">0x70</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatZ_Max: usize = <span class="number">0x74</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatW: usize = <span class="number">0x78</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatW_Min: usize = <span class="number">0x7C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flValueFloatW_Max: usize = <span class="number">0x80</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_cValueColor4: usize = <span class="number">0x84</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>m_nValueSystemVar: usize = <span class="number">0x88</span>; <span class="comment">// CompositeMaterialVarSystemVar_t
+    </span><span class="kw">pub const </span>m_strResourceMaterial: usize = <span class="number">0x90</span>; <span class="comment">// CResourceName
+    </span><span class="kw">pub const </span>m_strTextureContentAssetPath: usize = <span class="number">0x170</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strTextureRuntimeResourcePath: usize = <span class="number">0x178</span>; <span class="comment">// CResourceName
+    </span><span class="kw">pub const </span>m_strTextureCompilationVtexTemplate: usize = <span class="number">0x258</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_nTextureType: usize = <span class="number">0x260</span>; <span class="comment">// CompositeMaterialInputTextureType_t
+    </span><span class="kw">pub const </span>m_strString: usize = <span class="number">0x268</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterialMatchFilter_t {
+    <span class="kw">pub const </span>m_nCompositeMaterialMatchFilterType: usize = <span class="number">0x0</span>; <span class="comment">// CompositeMaterialMatchFilterType_t
+    </span><span class="kw">pub const </span>m_strMatchFilter: usize = <span class="number">0x8</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_strMatchValue: usize = <span class="number">0x10</span>; <span class="comment">// CUtlString
+    </span><span class="kw">pub const </span>m_bPassWhenTrue: usize = <span class="number">0x18</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>CompositeMaterial_t {
+    <span class="kw">pub const </span>m_TargetKVs: usize = <span class="number">0x8</span>; <span class="comment">// KeyValues3
+    </span><span class="kw">pub const </span>m_PreGenerationKVs: usize = <span class="number">0x18</span>; <span class="comment">// KeyValues3
+    </span><span class="kw">pub const </span>m_FinalKVs: usize = <span class="number">0x28</span>; <span class="comment">// KeyValues3
+    </span><span class="kw">pub const </span>m_vecGeneratedTextures: usize = <span class="number">0x40</span>; <span class="comment">// CUtlVector&lt;GeneratedTextureHandle_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>CountdownTimer {
+    <span class="kw">pub const </span>m_duration: usize = <span class="number">0x8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_timestamp: usize = <span class="number">0xC</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_timescale: usize = <span class="number">0x10</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_nWorldGroupId: usize = <span class="number">0x14</span>; <span class="comment">// WorldGroupId_t
+</span>}
+
+<span class="kw">pub mod </span>EngineCountdownTimer {
+    <span class="kw">pub const </span>m_duration: usize = <span class="number">0x8</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_timestamp: usize = <span class="number">0xC</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_timescale: usize = <span class="number">0x10</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EntityRenderAttribute_t {
+    <span class="kw">pub const </span>m_ID: usize = <span class="number">0x30</span>; <span class="comment">// CUtlStringToken
+    </span><span class="kw">pub const </span>m_Values: usize = <span class="number">0x34</span>; <span class="comment">// Vector4D
+</span>}
+
+<span class="kw">pub mod </span>EntitySpottedState_t {
+    <span class="kw">pub const </span>m_bSpotted: usize = <span class="number">0x8</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bSpottedByMask: usize = <span class="number">0xC</span>; <span class="comment">// uint32_t[2]
+</span>}
+
+<span class="kw">pub mod </span>GeneratedTextureHandle_t {
+    <span class="kw">pub const </span>m_strBitmapName: usize = <span class="number">0x0</span>; <span class="comment">// CUtlString
+</span>}
+
+<span class="kw">pub mod </span>IClientAlphaProperty {
+}
+
+<span class="kw">pub mod </span>IntervalTimer {
+    <span class="kw">pub const </span>m_timestamp: usize = <span class="number">0x8</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>m_nWorldGroupId: usize = <span class="number">0xC</span>; <span class="comment">// WorldGroupId_t
+</span>}
+
+<span class="kw">pub mod </span>PhysicsRagdollPose_t {
+    <span class="kw">pub const </span>__m_pChainEntity: usize = <span class="number">0x8</span>; <span class="comment">// CNetworkVarChainer
+    </span><span class="kw">pub const </span>m_Transforms: usize = <span class="number">0x30</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;CTransform&gt;
+    </span><span class="kw">pub const </span>m_hOwner: usize = <span class="number">0x48</span>; <span class="comment">// CHandle&lt;C_BaseEntity&gt;
+    </span><span class="kw">pub const </span>m_bDirty: usize = <span class="number">0x68</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>SellbackPurchaseEntry_t {
+    <span class="kw">pub const </span>m_unDefIdx: usize = <span class="number">0x30</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nCost: usize = <span class="number">0x34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPrevArmor: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_bPrevHelmet: usize = <span class="number">0x3C</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_hItem: usize = <span class="number">0x40</span>; <span class="comment">// CEntityHandle
+</span>}
+
+<span class="kw">pub mod </span>ServerAuthoritativeWeaponSlot_t {
+    <span class="kw">pub const </span>unClass: usize = <span class="number">0x28</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>unSlot: usize = <span class="number">0x2A</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>unItemDefIdx: usize = <span class="number">0x2C</span>; <span class="comment">// uint16_t
+</span>}
+
+<span class="kw">pub mod </span>TimedEvent {
+    <span class="kw">pub const </span>m_TimeBetweenEvents: usize = <span class="number">0x0</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_fNextEvent: usize = <span class="number">0x4</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>VPhysicsCollisionAttribute_t {
+    <span class="kw">pub const </span>m_nInteractsAs: usize = <span class="number">0x8</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nInteractsWith: usize = <span class="number">0x10</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nInteractsExclude: usize = <span class="number">0x18</span>; <span class="comment">// uint64_t
+    </span><span class="kw">pub const </span>m_nEntityId: usize = <span class="number">0x20</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nOwnerId: usize = <span class="number">0x24</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_nHierarchyId: usize = <span class="number">0x28</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nCollisionGroup: usize = <span class="number">0x2A</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>m_nCollisionFunctionMask: usize = <span class="number">0x2B</span>; <span class="comment">// uint8_t
+</span>}
+
+<span class="kw">pub mod </span>ViewAngleServerChange_t {
+    <span class="kw">pub const </span>nType: usize = <span class="number">0x30</span>; <span class="comment">// FixAngleSet_t
+    </span><span class="kw">pub const </span>qAngle: usize = <span class="number">0x34</span>; <span class="comment">// QAngle
+    </span><span class="kw">pub const </span>nIndex: usize = <span class="number">0x40</span>; <span class="comment">// uint32_t
+</span>}
+
+<span class="kw">pub mod </span>WeaponPurchaseCount_t {
+    <span class="kw">pub const </span>m_nItemDefIndex: usize = <span class="number">0x30</span>; <span class="comment">// uint16_t
+    </span><span class="kw">pub const </span>m_nCount: usize = <span class="number">0x32</span>; <span class="comment">// uint16_t
+</span>}
+
+<span class="kw">pub mod </span>WeaponPurchaseTracker_t {
+    <span class="kw">pub const </span>m_weaponPurchases: usize = <span class="number">0x8</span>; <span class="comment">// C_UtlVectorEmbeddedNetworkVar&lt;WeaponPurchaseCount_t&gt;
+</span>}
+
+<span class="kw">pub mod </span>audioparams_t {
+    <span class="kw">pub const </span>localSound: usize = <span class="number">0x8</span>; <span class="comment">// Vector[8]
+    </span><span class="kw">pub const </span>soundscapeIndex: usize = <span class="number">0x68</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>localBits: usize = <span class="number">0x6C</span>; <span class="comment">// uint8_t
+    </span><span class="kw">pub const </span>soundscapeEntityListIndex: usize = <span class="number">0x70</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>soundEventHash: usize = <span class="number">0x74</span>; <span class="comment">// uint32_t
+</span>}
+
+<span class="kw">pub mod </span>fogparams_t {
+    <span class="kw">pub const </span>dirPrimary: usize = <span class="number">0x8</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>colorPrimary: usize = <span class="number">0x14</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>colorSecondary: usize = <span class="number">0x18</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>colorPrimaryLerpTo: usize = <span class="number">0x1C</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>colorSecondaryLerpTo: usize = <span class="number">0x20</span>; <span class="comment">// Color
+    </span><span class="kw">pub const </span>start: usize = <span class="number">0x24</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>end: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>farz: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>maxdensity: usize = <span class="number">0x30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>exponent: usize = <span class="number">0x34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>HDRColorScale: usize = <span class="number">0x38</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>skyboxFogFactor: usize = <span class="number">0x3C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>skyboxFogFactorLerpTo: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>startLerpTo: usize = <span class="number">0x44</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>endLerpTo: usize = <span class="number">0x48</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>maxdensityLerpTo: usize = <span class="number">0x4C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>lerptime: usize = <span class="number">0x50</span>; <span class="comment">// GameTime_t
+    </span><span class="kw">pub const </span>duration: usize = <span class="number">0x54</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>blendtobackground: usize = <span class="number">0x58</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>scattering: usize = <span class="number">0x5C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>locallightscale: usize = <span class="number">0x60</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>enable: usize = <span class="number">0x64</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>blend: usize = <span class="number">0x65</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bNoReflectionFog: usize = <span class="number">0x66</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bPadding: usize = <span class="number">0x67</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>shard_model_desc_t {
+    <span class="kw">pub const </span>m_nModelID: usize = <span class="number">0x8</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_hMaterial: usize = <span class="number">0x10</span>; <span class="comment">// CStrongHandle&lt;InfoForResourceTypeIMaterial2&gt;
+    </span><span class="kw">pub const </span>m_solid: usize = <span class="number">0x18</span>; <span class="comment">// ShardSolid_t
+    </span><span class="kw">pub const </span>m_ShatterPanelMode: usize = <span class="number">0x19</span>; <span class="comment">// ShatterPanelMode
+    </span><span class="kw">pub const </span>m_vecPanelSize: usize = <span class="number">0x1C</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_vecStressPositionA: usize = <span class="number">0x24</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_vecStressPositionB: usize = <span class="number">0x2C</span>; <span class="comment">// Vector2D
+    </span><span class="kw">pub const </span>m_vecPanelVertices: usize = <span class="number">0x38</span>; <span class="comment">// C_NetworkUtlVectorBase&lt;Vector2D&gt;
+    </span><span class="kw">pub const </span>m_flGlassHalfThickness: usize = <span class="number">0x50</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bHasParent: usize = <span class="number">0x54</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bParentFrozen: usize = <span class="number">0x55</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_SurfacePropStringToken: usize = <span class="number">0x58</span>; <span class="comment">// CUtlStringToken
+</span>}
+
+<span class="kw">pub mod </span>sky3dparams_t {
+    <span class="kw">pub const </span>scale: usize = <span class="number">0x8</span>; <span class="comment">// int16_t
+    </span><span class="kw">pub const </span>origin: usize = <span class="number">0xC</span>; <span class="comment">// Vector
+    </span><span class="kw">pub const </span>bClip3DSkyBoxNearToWorldFar: usize = <span class="number">0x18</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>flClip3DSkyBoxNearToWorldFarOffset: usize = <span class="number">0x1C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>fog: usize = <span class="number">0x20</span>; <span class="comment">// fogparams_t
+    </span><span class="kw">pub const </span>m_nWorldGroupID: usize = <span class="number">0x88</span>; <span class="comment">// WorldGroupId_t
+</span>}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/cs2dumper/engine2.rs.html b/docs/src/csflow/cs2dumper/engine2.rs.html
new file mode 100644
index 0000000..62f16aa
--- /dev/null
+++ b/docs/src/csflow/cs2dumper/engine2.rs.html
@@ -0,0 +1,488 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/cs2dumper/engine2.rs`."><title>engine2.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+<a href="#203" id="203">203</a>
+<a href="#204" id="204">204</a>
+<a href="#205" id="205">205</a>
+<a href="#206" id="206">206</a>
+<a href="#207" id="207">207</a>
+<a href="#208" id="208">208</a>
+<a href="#209" id="209">209</a>
+<a href="#210" id="210">210</a>
+<a href="#211" id="211">211</a>
+<a href="#212" id="212">212</a>
+<a href="#213" id="213">213</a>
+<a href="#214" id="214">214</a>
+<a href="#215" id="215">215</a>
+<a href="#216" id="216">216</a>
+<a href="#217" id="217">217</a>
+<a href="#218" id="218">218</a>
+<a href="#219" id="219">219</a>
+<a href="#220" id="220">220</a>
+<a href="#221" id="221">221</a>
+<a href="#222" id="222">222</a>
+<a href="#223" id="223">223</a>
+<a href="#224" id="224">224</a>
+<a href="#225" id="225">225</a>
+<a href="#226" id="226">226</a>
+<a href="#227" id="227">227</a>
+<a href="#228" id="228">228</a>
+<a href="#229" id="229">229</a>
+<a href="#230" id="230">230</a>
+<a href="#231" id="231">231</a>
+<a href="#232" id="232">232</a>
+<a href="#233" id="233">233</a>
+<a href="#234" id="234">234</a>
+<a href="#235" id="235">235</a>
+<a href="#236" id="236">236</a>
+<a href="#237" id="237">237</a>
+<a href="#238" id="238">238</a>
+<a href="#239" id="239">239</a>
+<a href="#240" id="240">240</a>
+<a href="#241" id="241">241</a>
+<a href="#242" id="242">242</a>
+<a href="#243" id="243">243</a>
+<a href="#244" id="244">244</a>
+</pre></div><pre class="rust"><code><span class="comment">/*
+ * Created using https://github.com/a2x/cs2-dumper
+ * Sat, 30 Dec 2023 03:17:25 +0000
+ */
+
+</span><span class="attr">#![allow(non_snake_case, non_upper_case_globals)]
+
+</span><span class="kw">pub mod </span>CEmptyEntityInstance {
+}
+
+<span class="kw">pub mod </span>CEntityComponent {
+}
+
+<span class="kw">pub mod </span>CEntityComponentHelper {
+    <span class="kw">pub const </span>m_flags: usize = <span class="number">0x8</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_pInfo: usize = <span class="number">0x10</span>; <span class="comment">// EntComponentInfo_t*
+    </span><span class="kw">pub const </span>m_nPriority: usize = <span class="number">0x18</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x20</span>; <span class="comment">// CEntityComponentHelper*
+</span>}
+
+<span class="kw">pub mod </span>CEntityIOOutput {
+    <span class="kw">pub const </span>m_Value: usize = <span class="number">0x18</span>; <span class="comment">// CVariantBase&lt;CVariantDefaultAllocator&gt;
+</span>}
+
+<span class="kw">pub mod </span>CEntityIdentity {
+    <span class="kw">pub const </span>m_nameStringableIndex: usize = <span class="number">0x14</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_name: usize = <span class="number">0x18</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_designerName: usize = <span class="number">0x20</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_flags: usize = <span class="number">0x30</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_worldGroupId: usize = <span class="number">0x38</span>; <span class="comment">// WorldGroupId_t
+    </span><span class="kw">pub const </span>m_fDataObjectTypes: usize = <span class="number">0x3C</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_PathIndex: usize = <span class="number">0x40</span>; <span class="comment">// ChangeAccessorFieldPathIndex_t
+    </span><span class="kw">pub const </span>m_pPrev: usize = <span class="number">0x58</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pNext: usize = <span class="number">0x60</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pPrevByClass: usize = <span class="number">0x68</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_pNextByClass: usize = <span class="number">0x70</span>; <span class="comment">// CEntityIdentity*
+</span>}
+
+<span class="kw">pub mod </span>CEntityInstance {
+    <span class="kw">pub const </span>m_iszPrivateVScripts: usize = <span class="number">0x8</span>; <span class="comment">// CUtlSymbolLarge
+    </span><span class="kw">pub const </span>m_pEntity: usize = <span class="number">0x10</span>; <span class="comment">// CEntityIdentity*
+    </span><span class="kw">pub const </span>m_CScriptComponent: usize = <span class="number">0x28</span>; <span class="comment">// CScriptComponent*
+</span>}
+
+<span class="kw">pub mod </span>CNetworkVarChainer {
+    <span class="kw">pub const </span>m_PathIndex: usize = <span class="number">0x20</span>; <span class="comment">// ChangeAccessorFieldPathIndex_t
+</span>}
+
+<span class="kw">pub mod </span>CScriptComponent { <span class="comment">// CEntityComponent
+    </span><span class="kw">pub const </span>m_scriptClassName: usize = <span class="number">0x30</span>; <span class="comment">// CUtlSymbolLarge
+</span>}
+
+<span class="kw">pub mod </span>CVariantDefaultAllocator {
+}
+
+<span class="kw">pub mod </span>EngineLoopState_t {
+    <span class="kw">pub const </span>m_nPlatWindowWidth: usize = <span class="number">0x18</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nPlatWindowHeight: usize = <span class="number">0x1C</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRenderWidth: usize = <span class="number">0x20</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nRenderHeight: usize = <span class="number">0x24</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EntComponentInfo_t {
+    <span class="kw">pub const </span>m_pName: usize = <span class="number">0x0</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_pCPPClassname: usize = <span class="number">0x8</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_pNetworkDataReferencedDescription: usize = <span class="number">0x10</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_pNetworkDataReferencedPtrPropDescription: usize = <span class="number">0x18</span>; <span class="comment">// char*
+    </span><span class="kw">pub const </span>m_nRuntimeIndex: usize = <span class="number">0x20</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nFlags: usize = <span class="number">0x24</span>; <span class="comment">// uint32_t
+    </span><span class="kw">pub const </span>m_pBaseClassComponentHelper: usize = <span class="number">0x60</span>; <span class="comment">// CEntityComponentHelper*
+</span>}
+
+<span class="kw">pub mod </span>EntInput_t {
+}
+
+<span class="kw">pub mod </span>EntOutput_t {
+}
+
+<span class="kw">pub mod </span>EventAdvanceTick_t { <span class="comment">// EventSimulate_t
+    </span><span class="kw">pub const </span>m_nCurrentTick: usize = <span class="number">0x30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCurrentTickThisFrame: usize = <span class="number">0x34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTotalTicksThisFrame: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTotalTicks: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventAppShutdown_t {
+    <span class="kw">pub const </span>m_nDummy0: usize = <span class="number">0x0</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientAdvanceTick_t { <span class="comment">// EventAdvanceTick_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientFrameSimulate_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrameTime: usize = <span class="number">0x2C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EventClientOutput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRenderTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRenderFrameTimeUnbounded: usize = <span class="number">0x30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bRenderOnly: usize = <span class="number">0x34</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>EventClientPauseSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientPollInput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EventClientPollNetworking_t {
+    <span class="kw">pub const </span>m_nTickCount: usize = <span class="number">0x0</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientPostAdvanceTick_t { <span class="comment">// EventPostAdvanceTick_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientPostOutput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRenderTime: usize = <span class="number">0x28</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTime: usize = <span class="number">0x30</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flRenderFrameTimeUnbounded: usize = <span class="number">0x34</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bRenderOnly: usize = <span class="number">0x38</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>EventClientPostSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientPreOutput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRenderTime: usize = <span class="number">0x28</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTime: usize = <span class="number">0x30</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTimeUnbounded: usize = <span class="number">0x38</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x40</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_bRenderOnly: usize = <span class="number">0x44</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>EventClientPreSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientPredictionPostNetupdate_t {
+}
+
+<span class="kw">pub mod </span>EventClientProcessGameInput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrameTime: usize = <span class="number">0x2C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EventClientProcessInput_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTickInterval: usize = <span class="number">0x2C</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flTickStartTime: usize = <span class="number">0x30</span>; <span class="comment">// double
+</span>}
+
+<span class="kw">pub mod </span>EventClientProcessNetworking_t {
+}
+
+<span class="kw">pub mod </span>EventClientSceneSystemThreadStateChange_t {
+    <span class="kw">pub const </span>m_bThreadsActive: usize = <span class="number">0x0</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>EventClientSendInput_t {
+    <span class="kw">pub const </span>m_bFinalClientCommandTick: usize = <span class="number">0x0</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_nAdditionalClientCommandsToCreate: usize = <span class="number">0x4</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventClientSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventFrameBoundary_t {
+    <span class="kw">pub const </span>m_flFrameTime: usize = <span class="number">0x0</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EventModInitialized_t {
+}
+
+<span class="kw">pub mod </span>EventPostAdvanceTick_t { <span class="comment">// EventSimulate_t
+    </span><span class="kw">pub const </span>m_nCurrentTick: usize = <span class="number">0x30</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nCurrentTickThisFrame: usize = <span class="number">0x34</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTotalTicksThisFrame: usize = <span class="number">0x38</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_nTotalTicks: usize = <span class="number">0x3C</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventPostDataUpdate_t {
+    <span class="kw">pub const </span>m_nCount: usize = <span class="number">0x0</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventPreDataUpdate_t {
+    <span class="kw">pub const </span>m_nCount: usize = <span class="number">0x0</span>; <span class="comment">// int32_t
+</span>}
+
+<span class="kw">pub mod </span>EventProfileStorageAvailable_t {
+    <span class="kw">pub const </span>m_nSplitScreenSlot: usize = <span class="number">0x0</span>; <span class="comment">// CSplitScreenSlot
+</span>}
+
+<span class="kw">pub mod </span>EventServerAdvanceTick_t { <span class="comment">// EventAdvanceTick_t
+</span>}
+
+<span class="kw">pub mod </span>EventServerPollNetworking_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventServerPostAdvanceTick_t { <span class="comment">// EventPostAdvanceTick_t
+</span>}
+
+<span class="kw">pub mod </span>EventServerPostSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventServerProcessNetworking_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventServerSimulate_t { <span class="comment">// EventSimulate_t
+</span>}
+
+<span class="kw">pub mod </span>EventSetTime_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_nClientOutputFrames: usize = <span class="number">0x28</span>; <span class="comment">// int32_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x30</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderTime: usize = <span class="number">0x38</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTime: usize = <span class="number">0x40</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTimeUnbounded: usize = <span class="number">0x48</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flRenderFrameTimeUnscaled: usize = <span class="number">0x50</span>; <span class="comment">// double
+    </span><span class="kw">pub const </span>m_flTickRemainder: usize = <span class="number">0x58</span>; <span class="comment">// double
+</span>}
+
+<span class="kw">pub mod </span>EventSimpleLoopFrameUpdate_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_flRealTime: usize = <span class="number">0x28</span>; <span class="comment">// float
+    </span><span class="kw">pub const </span>m_flFrameTime: usize = <span class="number">0x2C</span>; <span class="comment">// float
+</span>}
+
+<span class="kw">pub mod </span>EventSimulate_t {
+    <span class="kw">pub const </span>m_LoopState: usize = <span class="number">0x0</span>; <span class="comment">// EngineLoopState_t
+    </span><span class="kw">pub const </span>m_bFirstTick: usize = <span class="number">0x28</span>; <span class="comment">// bool
+    </span><span class="kw">pub const </span>m_bLastTick: usize = <span class="number">0x29</span>; <span class="comment">// bool
+</span>}
+
+<span class="kw">pub mod </span>EventSplitScreenStateChanged_t {
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/cs2dumper/mod.rs.html b/docs/src/csflow/cs2dumper/mod.rs.html
new file mode 100644
index 0000000..8c3216f
--- /dev/null
+++ b/docs/src/csflow/cs2dumper/mod.rs.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/cs2dumper/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+</pre></div><pre class="rust"><code><span class="attr">#![allow(dead_code)]
+</span><span class="kw">pub mod </span>client;
+<span class="kw">pub mod </span>engine2;
+<span class="kw">pub mod </span>offsets;
+</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/cs2dumper/offsets.rs.html b/docs/src/csflow/cs2dumper/offsets.rs.html
new file mode 100644
index 0000000..29133fd
--- /dev/null
+++ b/docs/src/csflow/cs2dumper/offsets.rs.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/cs2dumper/offsets.rs`."><title>offsets.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+</pre></div><pre class="rust"><code><span class="comment">/*
+ * Created using https://github.com/a2x/cs2-dumper
+ * Sat, 30 Dec 2023 03:17:26 +0000
+ */
+
+</span><span class="attr">#![allow(non_snake_case, non_upper_case_globals)]
+
+</span><span class="kw">pub mod </span>client_dll { <span class="comment">// client.dll
+    </span><span class="kw">pub const </span>dwEntityList: usize = <span class="number">0x17C1950</span>;
+    <span class="kw">pub const </span>dwForceAttack: usize = <span class="number">0x16C1E70</span>;
+    <span class="kw">pub const </span>dwForceAttack2: usize = <span class="number">0x16C1F00</span>;
+    <span class="kw">pub const </span>dwForceBackward: usize = <span class="number">0x16C2140</span>;
+    <span class="kw">pub const </span>dwForceCrouch: usize = <span class="number">0x16C2410</span>;
+    <span class="kw">pub const </span>dwForceForward: usize = <span class="number">0x16C20B0</span>;
+    <span class="kw">pub const </span>dwForceJump: usize = <span class="number">0x16C2380</span>;
+    <span class="kw">pub const </span>dwForceLeft: usize = <span class="number">0x16C21D0</span>;
+    <span class="kw">pub const </span>dwForceRight: usize = <span class="number">0x16C2260</span>;
+    <span class="kw">pub const </span>dwGameEntitySystem: usize = <span class="number">0x18ED250</span>;
+    <span class="kw">pub const </span>dwGameEntitySystem_getHighestEntityIndex: usize = <span class="number">0x1510</span>;
+    <span class="kw">pub const </span>dwGameRules: usize = <span class="number">0x181E048</span>;
+    <span class="kw">pub const </span>dwGlobalVars: usize = <span class="number">0x16BDC98</span>;
+    <span class="kw">pub const </span>dwGlowManager: usize = <span class="number">0x181D7B0</span>;
+    <span class="kw">pub const </span>dwInterfaceLinkList: usize = <span class="number">0x191AEE8</span>;
+    <span class="kw">pub const </span>dwLocalPlayerController: usize = <span class="number">0x1810F48</span>;
+    <span class="kw">pub const </span>dwLocalPlayerPawn: usize = <span class="number">0x16C8F38</span>;
+    <span class="kw">pub const </span>dwPlantedC4: usize = <span class="number">0x1824A88</span>;
+    <span class="kw">pub const </span>dwPrediction: usize = <span class="number">0x16C8E00</span>;
+    <span class="kw">pub const </span>dwSensitivity: usize = <span class="number">0x181ED48</span>;
+    <span class="kw">pub const </span>dwSensitivity_sensitivity: usize = <span class="number">0x40</span>;
+    <span class="kw">pub const </span>dwViewAngles: usize = <span class="number">0x1880DC0</span>;
+    <span class="kw">pub const </span>dwViewMatrix: usize = <span class="number">0x1820150</span>;
+    <span class="kw">pub const </span>dwViewRender: usize = <span class="number">0x1820998</span>;
+}
+
+<span class="kw">pub mod </span>engine2_dll { <span class="comment">// engine2.dll
+    </span><span class="kw">pub const </span>dwBuildNumber: usize = <span class="number">0x4E03D4</span>;
+    <span class="kw">pub const </span>dwNetworkGameClient: usize = <span class="number">0x4DF988</span>;
+    <span class="kw">pub const </span>dwNetworkGameClient_getLocalPlayer: usize = <span class="number">0xF0</span>;
+    <span class="kw">pub const </span>dwNetworkGameClient_maxClients: usize = <span class="number">0x250</span>;
+    <span class="kw">pub const </span>dwNetworkGameClient_signOnState: usize = <span class="number">0x240</span>;
+    <span class="kw">pub const </span>dwWindowHeight: usize = <span class="number">0x596E1C</span>;
+    <span class="kw">pub const </span>dwWindowWidth: usize = <span class="number">0x596E18</span>;
+}
+
+<span class="kw">pub mod </span>game_info { <span class="comment">// Some additional information about the game at dump time
+    </span><span class="kw">pub const </span>buildNumber: usize = <span class="number">0x369F</span>; <span class="comment">// Game build number
+</span>}
+
+<span class="kw">pub mod </span>inputsystem_dll { <span class="comment">// inputsystem.dll
+    </span><span class="kw">pub const </span>dwInputSystem: usize = <span class="number">0x35760</span>;
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/enums/mod.rs.html b/docs/src/csflow/enums/mod.rs.html
new file mode 100644
index 0000000..cd6f923
--- /dev/null
+++ b/docs/src/csflow/enums/mod.rs.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/enums/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+</pre></div><pre class="rust"><code><span class="kw">mod </span>player_type;
+<span class="kw">mod </span>teamid;
+
+<span class="kw">pub use </span>player_type::PlayerType;
+<span class="kw">pub use </span>teamid::TeamID;</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/enums/player_type.rs.html b/docs/src/csflow/enums/player_type.rs.html
new file mode 100644
index 0000000..afc5bb5
--- /dev/null
+++ b/docs/src/csflow/enums/player_type.rs.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/enums/player_type.rs`."><title>player_type.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+</pre></div><pre class="rust"><code><span class="attr">#[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize, Default, PartialEq)]
+</span><span class="kw">pub enum </span>PlayerType {
+    <span class="attr">#[default]
+    </span>Unknown,
+    Spectator,
+    Local,
+    Enemy,
+    Team
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/enums/teamid.rs.html b/docs/src/csflow/enums/teamid.rs.html
new file mode 100644
index 0000000..3a05a5f
--- /dev/null
+++ b/docs/src/csflow/enums/teamid.rs.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/enums/teamid.rs`."><title>teamid.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre></div><pre class="rust"><code><span class="attr">#[repr(i32)]
+#[derive(Debug, Eq, PartialEq, enum_primitive_derive::Primitive)]
+</span><span class="kw">pub enum </span>TeamID {
+    Spectator = <span class="number">1</span>,
+    T = <span class="number">2</span>,
+    CT = <span class="number">3
+</span>}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/error.rs.html b/docs/src/csflow/error.rs.html
new file mode 100644
index 0000000..d5907ba
--- /dev/null
+++ b/docs/src/csflow/error.rs.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/error.rs`."><title>error.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::types::Address;
+<span class="kw">use </span>thiserror::Error;
+
+<span class="kw">use </span><span class="kw">crate</span>::structs::Vec3;
+
+<span class="attr">#[derive(Error, Debug)]
+</span><span class="kw">pub enum </span>Error {
+    <span class="doccomment">/// Game version mismatch.
+    /// First arg is the game version, second is the offset version.
+    </span><span class="attr">#[error(<span class="string">&quot;version mismatch, game has version {0}, but offsets have version {1}&quot;</span>)]
+    </span>GameVersionMismatch(usize, usize),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow error: {0}&quot;</span>)]
+    </span>Memflow(<span class="attr">#[from] </span>memflow::error::Error),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading address: {0}&quot;</span>)]
+    </span>MemflowPartialAddress(<span class="attr">#[from] </span>memflow::error::PartialError&lt;Address&gt;),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading Vec3: {0}&quot;</span>)]
+    </span>MemflowPartialVec3(<span class="attr">#[from] </span>memflow::error::PartialError&lt;Vec3&gt;),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading String: {0}&quot;</span>)]
+    </span>MemflowPartialString(<span class="attr">#[from] </span>memflow::error::PartialError&lt;String&gt;),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading i32: {0}&quot;</span>)]
+    </span>MemflowPartiali32(<span class="attr">#[from] </span>memflow::error::PartialError&lt;i32&gt;),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading u32: {0}&quot;</span>)]
+    </span>MemflowPartialu32(<span class="attr">#[from] </span>memflow::error::PartialError&lt;u32&gt;),
+
+    <span class="attr">#[error(<span class="string">&quot;memflow partial error when reading u8: {0}&quot;</span>)]
+    </span>MemflowPartialu8(<span class="attr">#[from] </span>memflow::error::PartialError&lt;u8&gt;)
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/lib.rs.html b/docs/src/csflow/lib.rs.html
new file mode 100644
index 0000000..3a7ffa8
--- /dev/null
+++ b/docs/src/csflow/lib.rs.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/lib.rs`."><title>lib.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../csflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+</pre></div><pre class="rust"><code><span class="attr">#![allow(dead_code)]
+
+</span><span class="kw">mod </span>cs2dumper;
+<span class="kw">mod </span>context;
+<span class="kw">mod </span>error;
+
+<span class="kw">pub mod </span>structs;
+<span class="kw">pub mod </span>traits;
+<span class="kw">pub mod </span>enums;
+
+<span class="kw">pub use </span>context::<span class="kw-2">*</span>;
+<span class="kw">pub use </span>error::Error;
+
+<span class="kw">pub use </span>memflow::prelude <span class="kw">as </span>memflow;</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/entity/base_entity.rs.html b/docs/src/csflow/structs/entity/base_entity.rs.html
new file mode 100644
index 0000000..520d990
--- /dev/null
+++ b/docs/src/csflow/structs/entity/base_entity.rs.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/entity/base_entity.rs`."><title>base_entity.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../../src-files.js"></script><script defer src="../../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../../csflow/index.html"><img class="rust-logo" src="../../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::{types::Address, mem::MemoryView};
+<span class="kw">use crate</span>::{CheatCtx, Error, cs2dumper, traits::{BaseEntity, MemoryClass}, structs::Vec3};
+
+<span class="kw">pub struct </span>CBaseEntity(Address);
+
+<span class="kw">impl </span>MemoryClass <span class="kw">for </span>CBaseEntity {
+    <span class="kw">fn </span>ptr(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Address {
+        <span class="self">self</span>.<span class="number">0
+    </span>}
+
+    <span class="kw">fn </span>new(ptr: Address) -&gt; <span class="self">Self </span>{
+        <span class="self">Self</span>(ptr)
+    }
+}
+
+<span class="kw">impl </span>BaseEntity <span class="kw">for </span>CBaseEntity {
+    <span class="kw">fn </span>from_index(ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address, index: i32) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;CBaseEntity&gt;, Error&gt; {
+        <span class="kw">let </span>list_entry = ctx.process.read_addr64(entity_list + <span class="number">8 </span>* (index &gt;&gt; <span class="number">9</span>) + <span class="number">16</span>)<span class="question-mark">?</span>;
+        <span class="kw">if </span>list_entry.is_null() &amp;&amp; !list_entry.is_valid() {
+            <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
+        }
+
+        <span class="kw">let </span>player_ptr = ctx.process.read_addr64(list_entry + <span class="number">120 </span>* (index &amp; <span class="number">0x1FF</span>))<span class="question-mark">?</span>;
+        <span class="kw">if </span>player_ptr.is_null() &amp;&amp; !player_ptr.is_valid() {
+            <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
+        }
+
+        <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="self">Self</span>::new(player_ptr)))
+    }
+
+    <span class="kw">fn </span>pos(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;Vec3, Error&gt; {
+        <span class="kw">let </span>node = ctx.process.read_addr64(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BaseEntity::m_pGameSceneNode)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ctx.process.read(node + cs2dumper::client::CGameSceneNode::m_vecAbsOrigin)<span class="question-mark">?</span>)
+    }
+
+    <span class="kw">fn </span>class_name(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;String, Error&gt; {
+        <span class="kw">let </span>entity_identity_ptr = ctx.process.read_addr64(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::CEntityInstance::m_pEntity)<span class="question-mark">?</span>;
+        <span class="kw">let </span>class_name_ptr = ctx.process.read_addr64(entity_identity_ptr + cs2dumper::client::CEntityIdentity::m_designerName)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ctx.process.read_char_string_n(class_name_ptr, <span class="number">32</span>)<span class="question-mark">?</span>)
+    }
+}
+
+<span class="kw">impl </span>CBaseEntity {
+    <span class="kw">pub fn </span>to_player_controller(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="kw">super</span>::CPlayerController {
+        <span class="kw">super</span>::CPlayerController::new(<span class="self">self</span>.<span class="number">0</span>)
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/entity/mod.rs.html b/docs/src/csflow/structs/entity/mod.rs.html
new file mode 100644
index 0000000..d379224
--- /dev/null
+++ b/docs/src/csflow/structs/entity/mod.rs.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/entity/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../../src-files.js"></script><script defer src="../../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../../csflow/index.html"><img class="rust-logo" src="../../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre></div><pre class="rust"><code><span class="kw">mod </span>base_entity;
+<span class="kw">mod </span>player_controller;
+<span class="kw">mod </span>player_pawn;
+
+<span class="kw">pub use </span>base_entity::CBaseEntity;
+<span class="kw">pub use </span>player_controller::CPlayerController;
+<span class="kw">pub use </span>player_pawn::CPlayerPawn;</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/entity/player_controller.rs.html b/docs/src/csflow/structs/entity/player_controller.rs.html
new file mode 100644
index 0000000..139cddd
--- /dev/null
+++ b/docs/src/csflow/structs/entity/player_controller.rs.html
@@ -0,0 +1,176 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/entity/player_controller.rs`."><title>player_controller.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../../src-files.js"></script><script defer src="../../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../../csflow/index.html"><img class="rust-logo" src="../../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::{types::Address, mem::MemoryView};
+<span class="kw">use </span>num_traits::FromPrimitive;
+
+<span class="kw">use crate</span>::{CheatCtx, Error, cs2dumper, structs::Vec3, traits::{MemoryClass, BaseEntity}, enums::{TeamID, PlayerType}};
+
+<span class="kw">pub struct </span>CPlayerController(Address);
+
+<span class="kw">impl </span>MemoryClass <span class="kw">for </span>CPlayerController {
+    <span class="kw">fn </span>ptr(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Address {
+        <span class="self">self</span>.<span class="number">0
+    </span>}
+
+    <span class="kw">fn </span>new(ptr: Address) -&gt; <span class="self">Self </span>{
+        <span class="self">Self</span>(ptr)
+    }
+}
+
+<span class="kw">impl </span>BaseEntity <span class="kw">for </span>CPlayerController {
+    <span class="kw">fn </span>from_index(ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address, index: i32) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;CPlayerController&gt;, Error&gt; {
+        <span class="kw">let </span>list_entry = ctx.process.read_addr64(entity_list + <span class="number">8 </span>* (index &gt;&gt; <span class="number">9</span>) + <span class="number">16</span>)<span class="question-mark">?</span>;
+        <span class="kw">if </span>list_entry.is_null() &amp;&amp; !list_entry.is_valid() {
+            <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
+        }
+
+        <span class="kw">let </span>player_ptr = ctx.process.read_addr64(list_entry + <span class="number">120 </span>* (index &amp; <span class="number">0x1FF</span>))<span class="question-mark">?</span>;
+        <span class="kw">if </span>player_ptr.is_null() &amp;&amp; !player_ptr.is_valid() {
+            <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>);
+        }
+
+        <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="self">Self</span>::new(player_ptr)))
+    }
+
+    <span class="kw">fn </span>pos(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;Vec3, Error&gt; {
+        <span class="kw">let </span>node = ctx.process.read_addr64(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BaseEntity::m_pGameSceneNode)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ctx.process.read(node + cs2dumper::client::CGameSceneNode::m_vecAbsOrigin)<span class="question-mark">?</span>)
+    }
+
+    <span class="kw">fn </span>class_name(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;String, Error&gt; {
+        <span class="kw">let </span>entity_identity_ptr = ctx.process.read_addr64(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::CEntityInstance::m_pEntity)<span class="question-mark">?</span>;
+        <span class="kw">let </span>class_name_ptr = ctx.process.read_addr64(entity_identity_ptr + cs2dumper::client::CEntityIdentity::m_designerName)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(ctx.process.read_char_string_n(class_name_ptr, <span class="number">32</span>)<span class="question-mark">?</span>)
+    }
+}
+
+<span class="kw">impl </span>CPlayerController {
+    <span class="kw">pub fn </span>get_pawn(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;<span class="kw">super</span>::CPlayerPawn&gt;, Error&gt; {
+        <span class="kw">let </span>uhandle = ctx.process.read(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::CCSPlayerController::m_hPlayerPawn)<span class="question-mark">?</span>;
+        <span class="kw">super</span>::CPlayerPawn::from_uhandle(ctx, entity_list, uhandle)
+    }
+
+    <span class="comment">// Technically something that should be in the BaseEntity trait, but we are only gonna use it on CPlayerController
+    </span><span class="kw">pub fn </span>get_team(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;TeamID&gt;, Error&gt; {
+        <span class="kw">let </span>team_num: i32 = ctx.process.read(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BaseEntity::m_iTeamNum)<span class="question-mark">?</span>;
+        <span class="prelude-val">Ok</span>(TeamID::from_i32(team_num))
+    }
+
+    <span class="kw">pub fn </span>get_player_type(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx, local: <span class="kw-2">&amp;</span>CPlayerController) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;PlayerType&gt;, Error&gt; {
+        <span class="kw">if </span><span class="self">self</span>.<span class="number">0 </span>== local.<span class="number">0 </span>{
+            <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(PlayerType::Local))
+        }
+
+        <span class="kw">let </span>team = {
+            <span class="kw">match </span><span class="self">self</span>.get_team(ctx)<span class="question-mark">? </span>{
+                <span class="prelude-val">Some</span>(t) =&gt; t,
+                <span class="prelude-val">None </span>=&gt; { <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>) },
+            }
+        };
+        
+        <span class="kw">let </span>local_team = {
+            <span class="kw">match </span>local.get_team(ctx)<span class="question-mark">? </span>{
+                <span class="prelude-val">Some</span>(t) =&gt; t,
+                <span class="prelude-val">None </span>=&gt; { <span class="kw">return </span><span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>) },
+            }
+        };
+
+        <span class="kw">let </span>player_type = {
+            <span class="kw">if </span>team == TeamID::Spectator { 
+                PlayerType::Spectator 
+            } <span class="kw">else if </span>team != local_team {
+                PlayerType::Enemy
+            } <span class="kw">else </span>{
+                PlayerType::Team
+            }
+        };
+
+        <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(player_type))
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/entity/player_pawn.rs.html b/docs/src/csflow/structs/entity/player_pawn.rs.html
new file mode 100644
index 0000000..425f82a
--- /dev/null
+++ b/docs/src/csflow/structs/entity/player_pawn.rs.html
@@ -0,0 +1,160 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/entity/player_pawn.rs`."><title>player_pawn.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../../" data-static-root-path="../../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../../src-files.js"></script><script defer src="../../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../../csflow/index.html"><img class="rust-logo" src="../../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::{types::Address, mem::MemoryView};
+
+<span class="kw">use crate</span>::{Error, CheatCtx, cs2dumper, structs::Vec3, traits::MemoryClass};
+
+<span class="kw">pub struct </span>CPlayerPawn(Address);
+
+<span class="kw">impl </span>MemoryClass <span class="kw">for </span>CPlayerPawn {
+    <span class="kw">fn </span>ptr(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Address {
+        <span class="self">self</span>.<span class="number">0
+    </span>}
+
+    <span class="kw">fn </span>new(ptr: Address) -&gt; <span class="self">Self </span>{
+        <span class="self">Self</span>(ptr)
+    }
+}
+
+<span class="kw">impl </span>CPlayerPawn {
+    <span class="kw">pub fn </span>from_uhandle(ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address, uhandle: u32) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>&gt;, Error&gt; {
+        <span class="kw">let </span>list_entry = ctx.process.read_addr64(entity_list + <span class="number">0x8 </span>* ((uhandle &amp; <span class="number">0x7FFF</span>) &gt;&gt; <span class="number">9</span>) + <span class="number">16</span>)<span class="question-mark">?</span>;
+        
+        <span class="kw">if </span>list_entry.is_null() || !list_entry.is_valid() {
+            <span class="prelude-val">Ok</span>(<span class="prelude-val">None</span>)
+        } <span class="kw">else </span>{
+            <span class="kw">let </span>ptr = ctx.process.read_addr64(list_entry + <span class="number">120 </span>* (uhandle &amp; <span class="number">0x1FF</span>))<span class="question-mark">?</span>;
+            <span class="prelude-val">Ok</span>(<span class="prelude-val">Some</span>(<span class="self">Self</span>(ptr)))
+        }
+    }
+
+    <span class="comment">// Todo: Optimize this function: find another way to do this
+    </span><span class="kw">pub fn </span>has_c4(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address) -&gt; <span class="prelude-ty">Result</span>&lt;bool, Error&gt; {
+        <span class="kw">let </span><span class="kw-2">mut </span>has_c4 = <span class="bool-val">false</span>;
+        <span class="kw">let </span>wep_services = ctx.process.read_addr64(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BasePlayerPawn::m_pWeaponServices)<span class="question-mark">?</span>;
+        <span class="kw">let </span>wep_count: i32  = ctx.process.read(wep_services + cs2dumper::client::CPlayer_WeaponServices::m_hMyWeapons)<span class="question-mark">?</span>;
+        <span class="kw">let </span>wep_base = ctx.process.read_addr64(wep_services + cs2dumper::client::CPlayer_WeaponServices::m_hMyWeapons + <span class="number">0x8</span>)<span class="question-mark">?</span>;
+
+        <span class="kw">for </span>wep_idx <span class="kw">in </span><span class="number">0</span>..wep_count {
+            <span class="kw">let </span>handle: i32 = ctx.process.read(wep_base + wep_idx * <span class="number">0x4</span>)<span class="question-mark">?</span>;
+            <span class="kw">if </span>handle == -<span class="number">1 </span>{
+                <span class="kw">continue</span>;
+            }
+
+            <span class="kw">let </span>list_entry = ctx.process.read_addr64(entity_list + <span class="number">0x8 </span>* ((handle &amp; <span class="number">0x7FFF</span>) &gt;&gt; <span class="number">9</span>) + <span class="number">16</span>)<span class="question-mark">?</span>;
+            <span class="kw">if let </span><span class="prelude-val">Some</span>(wep_ptr) = {
+                <span class="kw">if </span>list_entry.is_null() || !list_entry.is_valid() {
+                    <span class="prelude-val">None
+                </span>} <span class="kw">else </span>{
+                    <span class="kw">let </span>ptr = ctx.process.read_addr64(list_entry + <span class="number">120 </span>* (handle &amp; <span class="number">0x1FF</span>))<span class="question-mark">?</span>;
+                    <span class="prelude-val">Some</span>(ptr)
+                }
+            } {
+                <span class="kw">let </span>wep_data = ctx.process.read_addr64(wep_ptr + cs2dumper::client::C_BaseEntity::m_nSubclassID + <span class="number">0x8</span>)<span class="question-mark">?</span>;
+                <span class="kw">let </span>id: i32 = ctx.process.read(wep_data + cs2dumper::client::CCSWeaponBaseVData::m_WeaponType)<span class="question-mark">?</span>;
+
+                <span class="kw">if </span>id == <span class="number">7 </span>{
+                    has_c4 = <span class="bool-val">true</span>;
+                    <span class="kw">break</span>;
+                }
+            }
+        }
+
+        <span class="prelude-val">Ok</span>(has_c4)
+    }
+
+    <span class="kw">pub fn </span>pos(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;Vec3, Error&gt; {
+        <span class="prelude-val">Ok</span>(ctx.process.read(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BasePlayerPawn::m_vOldOrigin)<span class="question-mark">?</span>)
+    }
+
+    <span class="kw">pub fn </span>angles(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;Vec3, Error&gt; {
+        <span class="prelude-val">Ok</span>(ctx.process.read(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_CSPlayerPawnBase::m_angEyeAngles)<span class="question-mark">?</span>)
+    }
+
+    <span class="kw">pub fn </span>health(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;u32, Error&gt; {
+        <span class="prelude-val">Ok</span>(ctx.process.read(<span class="self">self</span>.<span class="number">0 </span>+ cs2dumper::client::C_BaseEntity::m_iHealth)<span class="question-mark">?</span>)
+    }
+
+    <span class="doccomment">/// Same as ::get_health &gt; 0
+    </span><span class="kw">pub fn </span>is_alive(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;bool, Error&gt; {
+        <span class="prelude-val">Ok</span>(<span class="self">self</span>.health(ctx)<span class="question-mark">? </span>&gt; <span class="number">0</span>)
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/mod.rs.html b/docs/src/csflow/structs/mod.rs.html
new file mode 100644
index 0000000..bec1a5b
--- /dev/null
+++ b/docs/src/csflow/structs/mod.rs.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+</pre></div><pre class="rust"><code><span class="kw">mod </span>vec3;
+<span class="kw">mod </span>entity;
+
+<span class="kw">pub use </span>vec3::Vec3;
+<span class="kw">pub use </span>entity::{CBaseEntity, CPlayerController, CPlayerPawn};</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/structs/vec3.rs.html b/docs/src/csflow/structs/vec3.rs.html
new file mode 100644
index 0000000..732d365
--- /dev/null
+++ b/docs/src/csflow/structs/vec3.rs.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/structs/vec3.rs`."><title>vec3.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>serde::Serialize;
+
+<span class="attr">#[derive(Debug, Clone, Copy, Serialize, serde::Deserialize)]
+#[repr(C)]
+</span><span class="kw">pub struct </span>Vec3 {
+    <span class="kw">pub </span>x: f32, 
+    <span class="kw">pub </span>y: f32,
+    <span class="kw">pub </span>z: f32
+}
+
+<span class="kw">unsafe impl </span>dataview::Pod <span class="kw">for </span>Vec3 {}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/traits/base_entity.rs.html b/docs/src/csflow/traits/base_entity.rs.html
new file mode 100644
index 0000000..609e404
--- /dev/null
+++ b/docs/src/csflow/traits/base_entity.rs.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/traits/base_entity.rs`."><title>base_entity.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::types::Address;
+
+<span class="kw">use crate</span>::{CheatCtx, structs::Vec3, Error};
+
+<span class="doccomment">/// A trait for basic functions from C_BaseEntity
+/// CCSPlayerController inherits C_BaseEntity, which is why this trait exists.
+</span><span class="kw">pub trait </span>BaseEntity {
+    <span class="kw">fn </span>from_index(ctx: <span class="kw-2">&amp;mut </span>CheatCtx, entity_list: Address, index: i32) -&gt; <span class="prelude-ty">Result</span>&lt;<span class="prelude-ty">Option</span>&lt;<span class="self">Self</span>&gt;, Error&gt; <span class="kw">where </span><span class="self">Self</span>: std::marker::Sized;
+    <span class="kw">fn </span>pos(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;Vec3, Error&gt;;
+    <span class="kw">fn </span>class_name(<span class="kw-2">&amp;</span><span class="self">self</span>, ctx: <span class="kw-2">&amp;mut </span>CheatCtx) -&gt; <span class="prelude-ty">Result</span>&lt;String, Error&gt;;
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/traits/memory_class.rs.html b/docs/src/csflow/traits/memory_class.rs.html
new file mode 100644
index 0000000..1ce8c11
--- /dev/null
+++ b/docs/src/csflow/traits/memory_class.rs.html
@@ -0,0 +1,14 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/traits/memory_class.rs`."><title>memory_class.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>memflow::types::Address;
+
+<span class="doccomment">/// A trait that implements basic functions for a class represented by a single pointer
+</span><span class="kw">pub trait </span>MemoryClass {
+    <span class="kw">fn </span>ptr(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Address;
+    <span class="kw">fn </span>new(ptr: Address) -&gt; <span class="self">Self</span>;
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/csflow/traits/mod.rs.html b/docs/src/csflow/traits/mod.rs.html
new file mode 100644
index 0000000..09359bc
--- /dev/null
+++ b/docs/src/csflow/traits/mod.rs.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `csflow/src/traits/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="csflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../csflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+</pre></div><pre class="rust"><code><span class="kw">mod </span>base_entity;
+<span class="kw">mod </span>memory_class;
+
+<span class="kw">pub use </span>base_entity::BaseEntity;
+<span class="kw">pub use </span>memory_class::MemoryClass;</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/cli.rs.html b/docs/src/radarflow/cli.rs.html
new file mode 100644
index 0000000..e5736e0
--- /dev/null
+++ b/docs/src/radarflow/cli.rs.html
@@ -0,0 +1,228 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/cli.rs`."><title>cli.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>std::path::PathBuf;
+
+<span class="kw">use </span>clap::{Parser, ValueEnum};
+<span class="kw">use </span>csflow::{Connector, memflow::Inventory};
+
+<span class="kw">const </span>PORT_RANGE: std::ops::RangeInclusive&lt;usize&gt; = <span class="number">8000</span>..=<span class="number">65535</span>;
+<span class="kw">const </span>POLL_RANGE: std::ops::RangeInclusive&lt;usize&gt; = <span class="number">1</span>..=<span class="number">1000</span>;
+
+<span class="attr">#[derive(Parser)]
+#[command(author, version = version(), about, long_about = <span class="prelude-val">None</span>)]
+</span><span class="kw">pub struct </span>Cli {
+    <span class="doccomment">/// Specifies the connector type for DMA
+    </span><span class="attr">#[clap(value_enum, short, long, ignore_case = <span class="bool-val">true</span>, default_value_t = Connector::Qemu)]
+    </span><span class="kw">pub </span>connector: Connector,
+
+    <span class="doccomment">/// Name of the Pcileech device
+    </span><span class="attr">#[clap(long, default_value_t = String::from(<span class="string">&quot;FPGA&quot;</span>))]
+    </span><span class="kw">pub </span>pcileech_device: String,
+
+    <span class="doccomment">/// Port number for the Webserver to run on
+    </span><span class="attr">#[arg(short, long, default_value_t = <span class="number">8000</span>, value_parser = port_in_range)]
+    </span><span class="kw">pub </span>port: u16,
+
+    <span class="doccomment">/// Path to the directory served by the Webserver
+    </span><span class="attr">#[arg(short, long, default_value = <span class="string">&quot;./webradar&quot;</span>, value_parser = valid_path)]
+    </span><span class="kw">pub </span>web_path: PathBuf,
+
+    <span class="doccomment">/// Polling frequency in times per second for the DMA thread
+    </span><span class="attr">#[arg(short = <span class="string">&#39;r&#39;</span>, long, default_value_t = <span class="number">60</span>, value_parser = poll_in_range)]
+    </span><span class="kw">pub </span>poll_rate: u16,
+
+    <span class="doccomment">/// Verbosity level for logging to the console
+    </span><span class="attr">#[arg(value_enum, long, short,  ignore_case = <span class="bool-val">true</span>, default_value_t = Loglevel::Warn)]
+    </span><span class="kw">pub </span>loglevel: Loglevel,
+}
+
+<span class="kw">fn </span>version() -&gt; String {
+    <span class="kw">let </span>pkg_ver = <span class="macro">env!</span>(<span class="string">&quot;CARGO_PKG_VERSION&quot;</span>);
+    <span class="kw">let </span>git_hash = <span class="macro">option_env!</span>(<span class="string">&quot;VERGEN_GIT_SHA&quot;</span>).unwrap_or(<span class="string">&quot;unknown&quot;</span>);
+    <span class="kw">let </span>commit_date = <span class="macro">option_env!</span>(<span class="string">&quot;VERGEN_GIT_COMMIT_DATE&quot;</span>).unwrap_or(<span class="string">&quot;unknown&quot;</span>);
+    <span class="kw">let </span>avail_cons = {
+        <span class="kw">let </span>inventory = Inventory::scan();
+        inventory.available_connectors().join(<span class="string">&quot;, &quot;</span>)
+    };
+
+    <span class="macro">format!</span>(<span class="string">&quot; {pkg_ver} (rev {git_hash})\nCommit Date: {commit_date}\nAvailable Connectors: {avail_cons}&quot;</span>)
+}
+
+<span class="kw">fn </span>port_in_range(s: <span class="kw-2">&amp;</span>str) -&gt; <span class="prelude-ty">Result</span>&lt;u16, String&gt; {
+    <span class="kw">let </span>port: usize = s
+        .parse()
+        .map_err(|<span class="kw">_</span>| <span class="macro">format!</span>(<span class="string">&quot;`{s}` isn&#39;t a port number&quot;</span>))<span class="question-mark">?</span>;
+    <span class="kw">if </span>PORT_RANGE.contains(<span class="kw-2">&amp;</span>port) {
+        <span class="prelude-val">Ok</span>(port <span class="kw">as </span>u16)
+    } <span class="kw">else </span>{
+        <span class="prelude-val">Err</span>(<span class="macro">format!</span>(
+            <span class="string">&quot;port not in range {}-{}&quot;</span>,
+            PORT_RANGE.start(),
+            PORT_RANGE.end()
+        ))
+    }
+}
+
+<span class="kw">fn </span>valid_path(s: <span class="kw-2">&amp;</span>str) -&gt; <span class="prelude-ty">Result</span>&lt;PathBuf, String&gt; {
+    <span class="kw">let </span>path = PathBuf::from(s);
+
+    <span class="kw">if </span>!path.exists() {
+        <span class="kw">return </span><span class="prelude-val">Err</span>(<span class="string">&quot;Path does not exist&quot;</span>.to_string())
+    }
+
+    <span class="kw">if </span>!path.is_dir() {
+        <span class="kw">return </span><span class="prelude-val">Err</span>(<span class="string">&quot;Path is not a directory&quot;</span>.to_string())
+    }
+
+    <span class="prelude-val">Ok</span>(path)
+}
+
+<span class="kw">fn </span>poll_in_range(s: <span class="kw-2">&amp;</span>str) -&gt; <span class="prelude-ty">Result</span>&lt;u16, String&gt; {
+    <span class="kw">let </span>port: usize = s
+        .parse()
+        .map_err(|<span class="kw">_</span>| <span class="macro">format!</span>(<span class="string">&quot;`{s}` isn&#39;t a valid number&quot;</span>))<span class="question-mark">?</span>;
+    <span class="kw">if </span>POLL_RANGE.contains(<span class="kw-2">&amp;</span>port) {
+        <span class="prelude-val">Ok</span>(port <span class="kw">as </span>u16)
+    } <span class="kw">else </span>{
+        <span class="prelude-val">Err</span>(<span class="macro">format!</span>(
+            <span class="string">&quot;not in range {}-{}&quot;</span>,
+            POLL_RANGE.start(),
+            POLL_RANGE.end()
+        ))
+    }
+}
+
+<span class="doccomment">/// Wrapper because log::LevelFilter doesn&#39;t implement ValueEnum
+</span><span class="attr">#[derive(Copy, Clone, PartialEq, Eq, PartialOrd, Ord, ValueEnum, Default)]
+</span><span class="kw">pub enum </span>Loglevel {
+    Error,
+    <span class="attr">#[default]
+    </span>Warn,
+    Info,
+    Debug,
+    Trace,
+}
+
+<span class="kw">impl </span>From&lt;Loglevel&gt; <span class="kw">for </span>log::LevelFilter {
+    <span class="kw">fn </span>from(val: Loglevel) -&gt; <span class="self">Self </span>{
+        <span class="kw">match </span>val {
+            Loglevel::Error =&gt; log::LevelFilter::Error,
+            Loglevel::Warn =&gt; log::LevelFilter::Warn,
+            Loglevel::Info =&gt; log::LevelFilter::Info,
+            Loglevel::Debug =&gt; log::LevelFilter::Debug,
+            Loglevel::Trace =&gt; log::LevelFilter::Trace,
+        }
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/comms.rs.html b/docs/src/radarflow/comms.rs.html
new file mode 100644
index 0000000..608d009
--- /dev/null
+++ b/docs/src/radarflow/comms.rs.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/comms.rs`."><title>comms.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>csflow::{enums::PlayerType, structs::Vec3};
+<span class="kw">use </span>serde::{Serialize, Deserialize};
+
+<span class="attr">#[derive(Debug, Clone, Serialize, Deserialize)]
+</span><span class="kw">pub struct </span>PlayerData {
+    pos: Vec3,
+    yaw: f32,
+    <span class="attr">#[serde(rename = <span class="string">&quot;playerType&quot;</span>)]
+    </span>player_type: PlayerType,
+
+    <span class="attr">#[serde(rename = <span class="string">&quot;hasBomb&quot;</span>)]
+    </span>has_bomb: bool
+}
+
+<span class="kw">impl </span>PlayerData {
+    <span class="kw">pub fn </span>new(pos: Vec3, yaw: f32, player_type: PlayerType, has_bomb: bool) -&gt; PlayerData {
+        PlayerData { pos, yaw, player_type, has_bomb }
+    }
+}
+
+<span class="attr">#[derive(Debug, Clone, Serialize, Deserialize)]
+</span><span class="kw">pub struct </span>BombData {
+    pos: Vec3,
+    <span class="attr">#[serde(rename = <span class="string">&quot;isPlanted&quot;</span>)]
+    </span>is_planted: bool
+}
+
+<span class="attr">#[allow(dead_code)]
+</span><span class="kw">impl </span>BombData {
+    <span class="kw">pub fn </span>new(pos: Vec3, is_planted: bool) -&gt; BombData {
+        BombData { pos, is_planted }
+    }
+}
+
+<span class="attr">#[derive(Debug, Clone, Serialize, Deserialize)]
+</span><span class="kw">pub enum </span>EntityData {
+    Player(PlayerData),
+    Bomb(BombData)
+}
+
+<span class="attr">#[derive(Debug, Clone, Serialize, Deserialize)]
+</span><span class="kw">pub struct </span>RadarData {
+    ingame: bool,
+
+    <span class="attr">#[serde(rename = <span class="string">&quot;mapName&quot;</span>)]
+    </span>map_name: String,
+
+    <span class="attr">#[serde(rename(serialize = <span class="string">&quot;entityData&quot;</span>))]
+    </span>player_data: Vec&lt;EntityData&gt;,
+
+    <span class="comment">//#[serde(rename(serialize = &quot;localYaw&quot;))]
+    //local_yaw: f32,
+</span>}
+
+<span class="kw">impl </span>RadarData {
+    <span class="kw">pub fn </span>new(ingame: bool, map_name: String, player_data: Vec&lt;EntityData&gt;) -&gt; RadarData {
+        RadarData { ingame, map_name, player_data }
+    }
+
+    <span class="doccomment">/// Returns empty RadarData, it&#39;s also the same data that gets sent to clients when not ingame
+    </span><span class="kw">pub fn </span>empty() -&gt; RadarData {
+        RadarData { 
+            ingame: <span class="bool-val">false</span>,
+            map_name: String::new(),
+            player_data: Vec::new(),
+        }
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/dma/cache.rs.html b/docs/src/radarflow/dma/cache.rs.html
new file mode 100644
index 0000000..ca9ab29
--- /dev/null
+++ b/docs/src/radarflow/dma/cache.rs.html
@@ -0,0 +1,170 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/dma/cache.rs`."><title>cache.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>csflow::{memflow::Address, enums::PlayerType};
+
+<span class="attr">#[derive(Clone, Copy)]
+</span><span class="kw">pub enum </span>CachedEntity {
+    Bomb {ptr: Address},
+    Player {ptr: Address, player_type: PlayerType},
+}
+
+<span class="kw">pub struct </span>Cache {
+    timestamp: std::time::Instant,
+    entity_cache: Vec&lt;CachedEntity&gt;,
+    map_name: String,
+    entity_list: Address,
+}
+
+<span class="kw">impl </span>Cache {
+    <span class="kw">pub fn </span>is_valid(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; bool {
+        <span class="kw">if </span><span class="self">self</span>.timestamp.elapsed() &gt; std::time::Duration::from_millis(<span class="number">250</span>) {
+            <span class="kw">return </span><span class="bool-val">false</span>;
+        }
+
+        <span class="bool-val">true
+    </span>}
+
+    <span class="kw">pub fn </span>new_invalid() -&gt; Cache {
+        Cache {
+            timestamp: std::time::Instant::now().checked_sub(std::time::Duration::from_millis(<span class="number">500</span>)).unwrap(),
+            entity_cache: Vec::new(),
+            map_name: String::new(),
+            entity_list: Address::null(),
+        }
+    }
+
+    <span class="kw">pub fn </span>entity_cache(<span class="kw-2">&amp;mut </span><span class="self">self</span>) -&gt; Vec&lt;CachedEntity&gt; {
+        <span class="self">self</span>.entity_cache.clone()
+    }
+
+    <span class="kw">pub fn </span>map_name(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; String {
+        <span class="self">self</span>.map_name.clone()
+    }
+
+    <span class="kw">pub fn </span>entity_list(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; Address {
+        <span class="self">self</span>.entity_list
+    }
+}
+
+<span class="kw">pub struct </span>CacheBuilder {
+    entity_cache: <span class="prelude-ty">Option</span>&lt;Vec&lt;CachedEntity&gt;&gt;,
+    map_name: <span class="prelude-ty">Option</span>&lt;String&gt;,
+    entity_list: <span class="prelude-ty">Option</span>&lt;Address&gt;
+}
+
+<span class="kw">impl </span>CacheBuilder {
+    <span class="kw">pub fn </span>new() -&gt; CacheBuilder {
+        CacheBuilder {
+            entity_cache: <span class="prelude-val">None</span>,
+            map_name: <span class="prelude-val">None</span>,
+            entity_list: <span class="prelude-val">None</span>,
+        }
+    }
+
+    <span class="kw">pub fn </span>entity_cache(<span class="kw-2">mut </span><span class="self">self</span>, entity_cache: Vec&lt;CachedEntity&gt;) -&gt; CacheBuilder {
+        <span class="self">self</span>.entity_cache = <span class="prelude-val">Some</span>(entity_cache);
+        <span class="self">self
+    </span>}
+
+    <span class="kw">pub fn </span>map_name(<span class="kw-2">mut </span><span class="self">self</span>, map_name: String) -&gt; CacheBuilder {
+        <span class="self">self</span>.map_name = <span class="prelude-val">Some</span>(map_name);
+        <span class="self">self
+    </span>}
+
+    <span class="kw">pub fn </span>entity_list(<span class="kw-2">mut </span><span class="self">self</span>, entity_list: Address) -&gt; CacheBuilder {
+        <span class="self">self</span>.entity_list = <span class="prelude-val">Some</span>(entity_list);
+        <span class="self">self
+    </span>}
+
+    <span class="kw">pub fn </span>build(<span class="self">self</span>) -&gt; anyhow::Result&lt;Cache&gt; {
+        <span class="prelude-val">Ok</span>(Cache {
+            timestamp: std::time::Instant::now(),
+            entity_cache: <span class="self">self</span>.entity_cache.ok_or(<span class="macro">anyhow::anyhow!</span>(<span class="string">&quot;entity_cache not set on builder&quot;</span>))<span class="question-mark">?</span>,
+            map_name: <span class="self">self</span>.map_name.ok_or(<span class="macro">anyhow::anyhow!</span>(<span class="string">&quot;map_name not set on builder&quot;</span>))<span class="question-mark">?</span>,
+            entity_list: <span class="self">self</span>.entity_list.ok_or(<span class="macro">anyhow::anyhow!</span>(<span class="string">&quot;entity_list not set on builder&quot;</span>))<span class="question-mark">?</span>,
+        })
+    }
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/dma/mod.rs.html b/docs/src/radarflow/dma/mod.rs.html
new file mode 100644
index 0000000..2364a8c
--- /dev/null
+++ b/docs/src/radarflow/dma/mod.rs.html
@@ -0,0 +1,405 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/dma/mod.rs`."><title>mod.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../../src-files.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../../radarflow/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+<a href="#67" id="67">67</a>
+<a href="#68" id="68">68</a>
+<a href="#69" id="69">69</a>
+<a href="#70" id="70">70</a>
+<a href="#71" id="71">71</a>
+<a href="#72" id="72">72</a>
+<a href="#73" id="73">73</a>
+<a href="#74" id="74">74</a>
+<a href="#75" id="75">75</a>
+<a href="#76" id="76">76</a>
+<a href="#77" id="77">77</a>
+<a href="#78" id="78">78</a>
+<a href="#79" id="79">79</a>
+<a href="#80" id="80">80</a>
+<a href="#81" id="81">81</a>
+<a href="#82" id="82">82</a>
+<a href="#83" id="83">83</a>
+<a href="#84" id="84">84</a>
+<a href="#85" id="85">85</a>
+<a href="#86" id="86">86</a>
+<a href="#87" id="87">87</a>
+<a href="#88" id="88">88</a>
+<a href="#89" id="89">89</a>
+<a href="#90" id="90">90</a>
+<a href="#91" id="91">91</a>
+<a href="#92" id="92">92</a>
+<a href="#93" id="93">93</a>
+<a href="#94" id="94">94</a>
+<a href="#95" id="95">95</a>
+<a href="#96" id="96">96</a>
+<a href="#97" id="97">97</a>
+<a href="#98" id="98">98</a>
+<a href="#99" id="99">99</a>
+<a href="#100" id="100">100</a>
+<a href="#101" id="101">101</a>
+<a href="#102" id="102">102</a>
+<a href="#103" id="103">103</a>
+<a href="#104" id="104">104</a>
+<a href="#105" id="105">105</a>
+<a href="#106" id="106">106</a>
+<a href="#107" id="107">107</a>
+<a href="#108" id="108">108</a>
+<a href="#109" id="109">109</a>
+<a href="#110" id="110">110</a>
+<a href="#111" id="111">111</a>
+<a href="#112" id="112">112</a>
+<a href="#113" id="113">113</a>
+<a href="#114" id="114">114</a>
+<a href="#115" id="115">115</a>
+<a href="#116" id="116">116</a>
+<a href="#117" id="117">117</a>
+<a href="#118" id="118">118</a>
+<a href="#119" id="119">119</a>
+<a href="#120" id="120">120</a>
+<a href="#121" id="121">121</a>
+<a href="#122" id="122">122</a>
+<a href="#123" id="123">123</a>
+<a href="#124" id="124">124</a>
+<a href="#125" id="125">125</a>
+<a href="#126" id="126">126</a>
+<a href="#127" id="127">127</a>
+<a href="#128" id="128">128</a>
+<a href="#129" id="129">129</a>
+<a href="#130" id="130">130</a>
+<a href="#131" id="131">131</a>
+<a href="#132" id="132">132</a>
+<a href="#133" id="133">133</a>
+<a href="#134" id="134">134</a>
+<a href="#135" id="135">135</a>
+<a href="#136" id="136">136</a>
+<a href="#137" id="137">137</a>
+<a href="#138" id="138">138</a>
+<a href="#139" id="139">139</a>
+<a href="#140" id="140">140</a>
+<a href="#141" id="141">141</a>
+<a href="#142" id="142">142</a>
+<a href="#143" id="143">143</a>
+<a href="#144" id="144">144</a>
+<a href="#145" id="145">145</a>
+<a href="#146" id="146">146</a>
+<a href="#147" id="147">147</a>
+<a href="#148" id="148">148</a>
+<a href="#149" id="149">149</a>
+<a href="#150" id="150">150</a>
+<a href="#151" id="151">151</a>
+<a href="#152" id="152">152</a>
+<a href="#153" id="153">153</a>
+<a href="#154" id="154">154</a>
+<a href="#155" id="155">155</a>
+<a href="#156" id="156">156</a>
+<a href="#157" id="157">157</a>
+<a href="#158" id="158">158</a>
+<a href="#159" id="159">159</a>
+<a href="#160" id="160">160</a>
+<a href="#161" id="161">161</a>
+<a href="#162" id="162">162</a>
+<a href="#163" id="163">163</a>
+<a href="#164" id="164">164</a>
+<a href="#165" id="165">165</a>
+<a href="#166" id="166">166</a>
+<a href="#167" id="167">167</a>
+<a href="#168" id="168">168</a>
+<a href="#169" id="169">169</a>
+<a href="#170" id="170">170</a>
+<a href="#171" id="171">171</a>
+<a href="#172" id="172">172</a>
+<a href="#173" id="173">173</a>
+<a href="#174" id="174">174</a>
+<a href="#175" id="175">175</a>
+<a href="#176" id="176">176</a>
+<a href="#177" id="177">177</a>
+<a href="#178" id="178">178</a>
+<a href="#179" id="179">179</a>
+<a href="#180" id="180">180</a>
+<a href="#181" id="181">181</a>
+<a href="#182" id="182">182</a>
+<a href="#183" id="183">183</a>
+<a href="#184" id="184">184</a>
+<a href="#185" id="185">185</a>
+<a href="#186" id="186">186</a>
+<a href="#187" id="187">187</a>
+<a href="#188" id="188">188</a>
+<a href="#189" id="189">189</a>
+<a href="#190" id="190">190</a>
+<a href="#191" id="191">191</a>
+<a href="#192" id="192">192</a>
+<a href="#193" id="193">193</a>
+<a href="#194" id="194">194</a>
+<a href="#195" id="195">195</a>
+<a href="#196" id="196">196</a>
+<a href="#197" id="197">197</a>
+<a href="#198" id="198">198</a>
+<a href="#199" id="199">199</a>
+<a href="#200" id="200">200</a>
+<a href="#201" id="201">201</a>
+<a href="#202" id="202">202</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>std::sync::Arc;
+
+<span class="kw">use </span>csflow::{CheatCtx, Connector, memflow::Process, traits::{MemoryClass, BaseEntity}, enums::PlayerType, structs::{CBaseEntity, CPlayerController}};
+<span class="kw">use </span>tokio::{sync::RwLock, time::{Duration, Instant}};
+
+<span class="kw">use crate</span>::{comms::{RadarData, EntityData, BombData, PlayerData}, dma::cache::CacheBuilder};
+
+<span class="kw">use </span><span class="self">self</span>::cache::Cache;
+
+<span class="kw">mod </span>cache;
+
+<span class="kw">const </span>SECOND_AS_NANO: u64 = <span class="number">1000</span><span class="kw-2">*</span><span class="number">1000</span><span class="kw-2">*</span><span class="number">1000</span>;
+<span class="kw">static </span>ONCE: std::sync::Once = std::sync::Once::new();
+
+<span class="kw">pub async fn </span>run(connector: Connector, pcileech_device: String, poll_rate: u16, data_lock: Arc&lt;RwLock&lt;RadarData&gt;&gt;) -&gt; anyhow::Result&lt;()&gt; {
+    <span class="kw">let </span><span class="kw-2">mut </span>ctx = CheatCtx::setup(connector, pcileech_device)<span class="question-mark">?</span>;
+
+    <span class="macro">println!</span>(<span class="string">&quot;---------------------------------------------------&quot;</span>);
+    <span class="macro">println!</span>(<span class="string">&quot;Found cs2.exe at {:X}&quot;</span>, ctx.process.info().address);
+    <span class="macro">println!</span>(<span class="string">&quot;Found engine module at cs2.exe+{:X}&quot;</span>, ctx.engine_module.base);
+    <span class="macro">println!</span>(<span class="string">&quot;Found client module at cs2.exe+{:X}&quot;</span>, ctx.client_module.base);
+    <span class="macro">println!</span>(<span class="string">&quot;---------------------------------------------------&quot;</span>);
+
+    <span class="comment">// Avoid printing warnings and other stuff before the initial prints are complete
+    </span>tokio::time::sleep(Duration::from_millis(<span class="number">500</span>)).<span class="kw">await</span>;
+
+    <span class="comment">// For poll rate timing
+    </span><span class="kw">let </span>should_time = poll_rate != <span class="number">0</span>;
+
+    <span class="kw">let </span>target_interval = Duration::from_nanos(SECOND_AS_NANO / poll_rate <span class="kw">as </span>u64);
+    <span class="kw">let </span><span class="kw-2">mut </span>last_iteration_time = Instant::now();
+    <span class="kw">let </span><span class="kw-2">mut </span>missmatch_count = <span class="number">0</span>;
+
+    <span class="kw">let </span><span class="kw-2">mut </span>cache = Cache::new_invalid();
+
+    <span class="kw">loop </span>{
+        <span class="kw">if </span>ctx.process.state().is_dead() {
+            <span class="kw">break</span>;
+        }
+
+        <span class="kw">if </span>!cache.is_valid() {
+            <span class="kw">let </span><span class="kw-2">mut </span>cached_entities = Vec::new();
+
+            <span class="kw">let </span>globals = ctx.get_globals()<span class="question-mark">?</span>;
+            <span class="kw">let </span>highest_index = ctx.highest_entity_index()<span class="question-mark">?</span>;
+            <span class="kw">let </span>map_name = ctx.map_name(globals)<span class="question-mark">?</span>;
+            <span class="kw">let </span>entity_list = ctx.get_entity_list()<span class="question-mark">?</span>;
+
+            <span class="kw">let </span>local = ctx.get_local()<span class="question-mark">?</span>;
+            
+            <span class="kw">if </span>local.get_pawn(<span class="kw-2">&amp;mut </span>ctx, entity_list)<span class="question-mark">?</span>.is_some() {
+                cached_entities.push(cache::CachedEntity::Player {
+                    ptr: local.ptr(),
+                    player_type: PlayerType::Local 
+                });
+
+                <span class="kw">for </span>idx <span class="kw">in </span><span class="number">1</span>..=highest_index {
+                    <span class="kw">if let </span><span class="prelude-val">Some</span>(entity) = CBaseEntity::from_index(<span class="kw-2">&amp;mut </span>ctx, entity_list, idx)<span class="question-mark">? </span>{
+
+                        <span class="kw">let </span>class_name = entity.class_name(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">?</span>;
+
+                        <span class="kw">match </span>class_name.as_str() {
+                            <span class="string">&quot;weapon_c4&quot; </span>=&gt; {
+                                cached_entities.push(cache::CachedEntity::Bomb {
+                                    ptr: entity.ptr()
+                                })
+                            },
+                            <span class="string">&quot;cs_player_controller&quot; </span>=&gt; {
+                                <span class="kw">let </span>controller = entity.to_player_controller();
+
+                                <span class="kw">let </span>player_type = {
+                                    <span class="kw">match </span>controller.get_player_type(<span class="kw-2">&amp;mut </span>ctx, <span class="kw-2">&amp;</span>local)<span class="question-mark">? </span>{
+                                        <span class="prelude-val">Some</span>(t) =&gt; {
+                                            <span class="kw">if </span>t == PlayerType::Spectator { <span class="kw">continue </span>} <span class="kw">else </span>{ t }
+                                        },
+                                        <span class="prelude-val">None </span>=&gt; { <span class="kw">continue </span>},
+                                    }
+                                };
+
+                                cached_entities.push(cache::CachedEntity::Player {
+                                    ptr: entity.ptr(),
+                                    player_type,
+                                })
+                            }
+                            <span class="kw">_ </span>=&gt; {}
+                        }
+                    }
+                }
+            }
+
+            cache = CacheBuilder::new()
+                .entity_cache(cached_entities)
+                .entity_list(entity_list)
+                .map_name(map_name)
+                .build()<span class="question-mark">?</span>;
+
+            <span class="macro">log::debug!</span>(<span class="string">&quot;Rebuilt cache.&quot;</span>);
+        }
+
+        <span class="kw">if </span>ctx.network_is_ingame()<span class="question-mark">? </span>{
+            <span class="kw">let </span><span class="kw-2">mut </span>radar_data = Vec::with_capacity(<span class="number">64</span>);
+
+            <span class="kw">if </span>ctx.is_bomb_planted()<span class="question-mark">? </span>{
+                <span class="kw">let </span>bomb = ctx.get_plantedc4()<span class="question-mark">?</span>;
+                <span class="kw">let </span>bomb_pos = bomb.pos(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">?</span>;
+                radar_data.push(
+                    EntityData::Bomb(BombData::new(
+                        bomb_pos,
+                        <span class="bool-val">true
+                    </span>))
+                );
+            }
+
+            <span class="kw">for </span>cached_data <span class="kw">in </span>cache.entity_cache() {
+                <span class="kw">match </span>cached_data {
+                    cache::CachedEntity::Bomb { ptr } =&gt; {
+                        <span class="kw">if </span>ctx.is_bomb_dropped()<span class="question-mark">?  </span>{
+                            <span class="kw">let </span>bomb_entity = CBaseEntity::new(ptr);
+                            <span class="kw">let </span>pos = bomb_entity.pos(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">?</span>;
+    
+                            radar_data.push(
+                                EntityData::Bomb(
+                                    BombData::new(
+                                        pos,
+                                        <span class="bool-val">false
+                                    </span>)
+                                )
+                            );
+                        }
+                    },
+                    cache::CachedEntity::Player { ptr, player_type } =&gt; {
+                        <span class="kw">let </span>controller = CPlayerController::new(ptr);
+                        <span class="kw">if let </span><span class="prelude-val">Some</span>(pawn) = controller.get_pawn(<span class="kw-2">&amp;mut </span>ctx, cache.entity_list())<span class="question-mark">? </span>{
+                            <span class="kw">if </span>pawn.is_alive(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">? </span>{
+                                <span class="kw">let </span>pos = pawn.pos(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">?</span>;
+                                <span class="kw">let </span>yaw = pawn.angles(<span class="kw-2">&amp;mut </span>ctx)<span class="question-mark">?</span>.y;
+                                <span class="kw">let </span>has_bomb = pawn.has_c4(<span class="kw-2">&amp;mut </span>ctx, cache.entity_list())<span class="question-mark">?</span>;
+                    
+                                radar_data.push(
+                                    EntityData::Player(
+                                        PlayerData::new(
+                                            pos, 
+                                            yaw,
+                                            player_type,
+                                            has_bomb
+                                        )
+                                    )
+                                );
+                            }
+                        }
+                    },
+                }
+            }
+
+            <span class="kw">let </span><span class="kw-2">mut </span>data = data_lock.write().<span class="kw">await</span>;
+            <span class="kw">if </span>cache.map_name() == <span class="string">&quot;&lt;empty&gt;&quot; </span>|| cache.map_name().is_empty() {
+                <span class="kw-2">*</span>data = RadarData::empty()
+            } <span class="kw">else </span>{
+                <span class="kw-2">*</span>data = RadarData::new(<span class="bool-val">true</span>, cache.map_name(), radar_data)
+            }
+        } <span class="kw">else </span>{
+            <span class="kw">let </span><span class="kw-2">mut </span>data = data_lock.write().<span class="kw">await</span>;
+            <span class="kw-2">*</span>data = RadarData::empty()
+        }
+
+        <span class="kw">if </span>should_time {
+            <span class="kw">let </span>elapsed = last_iteration_time.elapsed();
+    
+            <span class="kw">let </span>remaining = <span class="kw">match </span>target_interval.checked_sub(elapsed) {
+                <span class="prelude-val">Some</span>(t) =&gt; t,
+                <span class="prelude-val">None </span>=&gt; {
+                    <span class="kw">if </span>missmatch_count &gt;= <span class="number">25 </span>{
+                        ONCE.call_once(|| {
+                            <span class="macro">log::warn!</span>(<span class="string">&quot;Remaining time till target interval was negative more than 25 times&quot;</span>);
+                            <span class="macro">log::warn!</span>(<span class="string">&quot;You should decrease your poll rate.&quot;</span>);
+                            <span class="macro">log::warn!</span>(<span class="string">&quot;elapsed: {}ns&quot;</span>, elapsed.as_nanos());
+                            <span class="macro">log::warn!</span>(<span class="string">&quot;target: {}ns&quot;</span>, target_interval.as_nanos());
+                        });
+                    } <span class="kw">else </span>{
+                        missmatch_count += <span class="number">1</span>;
+                    }
+                    Duration::from_nanos(<span class="number">0</span>)
+                },
+            };
+    
+            <span class="attr">#[cfg(target_os = <span class="string">&quot;linux&quot;</span>)]
+            </span>tokio_timerfd::sleep(remaining).<span class="kw">await</span><span class="question-mark">?</span>;
+    
+            <span class="attr">#[cfg(not(target_os = <span class="string">&quot;linux&quot;</span>))]
+            </span>tokio::time::sleep(remaining).<span class="kw">await</span>;
+    
+            <span class="macro">log::info!</span>(<span class="string">&quot;poll rate: {:.2}Hz&quot;</span>, SECOND_AS_NANO <span class="kw">as </span>f64 / last_iteration_time.elapsed().as_nanos() <span class="kw">as </span>f64);
+            <span class="macro">log::trace!</span>(<span class="string">&quot;elapsed: {}ns&quot;</span>, elapsed.as_nanos());
+            <span class="macro">log::trace!</span>(<span class="string">&quot;target: {}ns&quot;</span>, target_interval.as_nanos());
+            <span class="macro">log::trace!</span>(<span class="string">&quot;missmatch count: {}&quot;</span>, missmatch_count);
+
+            last_iteration_time = Instant::now();
+        }
+    }
+
+    <span class="prelude-val">Ok</span>(())
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/main.rs.html b/docs/src/radarflow/main.rs.html
new file mode 100644
index 0000000..84bb258
--- /dev/null
+++ b/docs/src/radarflow/main.rs.html
@@ -0,0 +1,115 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/main.rs`."><title>main.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>std::sync::Arc;
+
+<span class="kw">use </span>clap::Parser;
+<span class="kw">use </span>cli::Cli;
+<span class="kw">use </span>comms::RadarData;
+<span class="kw">use </span>tokio::sync::RwLock;
+
+<span class="kw">mod </span>comms;
+<span class="kw">mod </span>cli;
+
+<span class="kw">mod </span>dma;
+<span class="kw">mod </span>websocket;
+
+<span class="attr">#[tokio::main]
+</span><span class="kw">async fn </span>main() -&gt; anyhow::Result&lt;()&gt; {
+    <span class="kw">let </span>cli = Cli::parse();
+
+    simple_logger::SimpleLogger::new()
+        .with_level(cli.loglevel.into())
+        .init()
+        .expect(<span class="string">&quot;Initializing logger&quot;</span>);
+
+    <span class="kw">let </span>rwlock = Arc::new(
+        RwLock::new(
+            RadarData::empty()
+        )
+    );
+
+    <span class="kw">let </span>rwlock_clone = rwlock.clone();
+    <span class="kw">let </span>dma_handle = tokio::spawn(<span class="kw">async move </span>{
+        <span class="kw">if let </span><span class="prelude-val">Err</span>(err) = dma::run(cli.connector, cli.pcileech_device, cli.poll_rate, rwlock_clone).<span class="kw">await </span>{
+            <span class="macro">log::error!</span>(<span class="string">&quot;Error in dma thread: [{}]&quot;</span>, err.to_string());
+        }
+    });
+
+    tokio::spawn(<span class="kw">async move </span>{
+        <span class="kw">let </span>future = websocket::run(cli.web_path, cli.port, rwlock);
+
+        <span class="kw">if let </span><span class="prelude-val">Ok</span>(my_local_ip) = local_ip_address::local_ip() {
+            <span class="kw">let </span>address = <span class="macro">format!</span>(<span class="string">&quot;http://{}:{}&quot;</span>, my_local_ip, cli.port);
+            <span class="macro">println!</span>(<span class="string">&quot;Launched webserver at {}&quot;</span>, address);
+        } <span class="kw">else </span>{
+            <span class="kw">let </span>address = <span class="macro">format!</span>(<span class="string">&quot;http://0.0.0.0:{}&quot;</span>, cli.port);
+            <span class="macro">println!</span>(<span class="string">&quot;launched webserver at! {}&quot;</span>, address);
+        }
+
+        <span class="kw">if let </span><span class="prelude-val">Err</span>(err) = future.<span class="kw">await </span>{
+            <span class="macro">log::error!</span>(<span class="string">&quot;Error in websocket server: [{}]&quot;</span>, err.to_string());
+        }
+    });
+
+    <span class="kw">if let </span><span class="prelude-val">Err</span>(err) = dma_handle.<span class="kw">await </span>{
+        <span class="macro">log::error!</span>(<span class="string">&quot;Error when waiting for dma thread: {}&quot;</span>, err.to_string());
+    }
+
+    <span class="prelude-val">Ok</span>(())
+}
+</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/src/radarflow/websocket.rs.html b/docs/src/radarflow/websocket.rs.html
new file mode 100644
index 0000000..8026ab7
--- /dev/null
+++ b/docs/src/radarflow/websocket.rs.html
@@ -0,0 +1,132 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Source of the Rust file `radarflow/src/websocket.rs`."><title>websocket.rs - source</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../" data-static-root-path="../../static.files/" data-current-crate="radarflow" data-themes="" data-resource-suffix="" data-rustdoc-version="1.74.0 (79e9716c9 2023-11-13)" data-channel="1.74.0" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../static.files/src-script-3280b574d94e47b4.js"></script><script defer src="../../src-files.js"></script><script defer src="../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../static.files/favicon-2c020d218678b618.svg"></head><body class="rustdoc src"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"></nav><main><nav class="sub"><a class="sub-logo-container" href="../../radarflow/index.html"><img class="rust-logo" src="../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="example-wrap"><div data-nosnippet><pre class="src-line-numbers"><a href="#1" id="1">1</a>
+<a href="#2" id="2">2</a>
+<a href="#3" id="3">3</a>
+<a href="#4" id="4">4</a>
+<a href="#5" id="5">5</a>
+<a href="#6" id="6">6</a>
+<a href="#7" id="7">7</a>
+<a href="#8" id="8">8</a>
+<a href="#9" id="9">9</a>
+<a href="#10" id="10">10</a>
+<a href="#11" id="11">11</a>
+<a href="#12" id="12">12</a>
+<a href="#13" id="13">13</a>
+<a href="#14" id="14">14</a>
+<a href="#15" id="15">15</a>
+<a href="#16" id="16">16</a>
+<a href="#17" id="17">17</a>
+<a href="#18" id="18">18</a>
+<a href="#19" id="19">19</a>
+<a href="#20" id="20">20</a>
+<a href="#21" id="21">21</a>
+<a href="#22" id="22">22</a>
+<a href="#23" id="23">23</a>
+<a href="#24" id="24">24</a>
+<a href="#25" id="25">25</a>
+<a href="#26" id="26">26</a>
+<a href="#27" id="27">27</a>
+<a href="#28" id="28">28</a>
+<a href="#29" id="29">29</a>
+<a href="#30" id="30">30</a>
+<a href="#31" id="31">31</a>
+<a href="#32" id="32">32</a>
+<a href="#33" id="33">33</a>
+<a href="#34" id="34">34</a>
+<a href="#35" id="35">35</a>
+<a href="#36" id="36">36</a>
+<a href="#37" id="37">37</a>
+<a href="#38" id="38">38</a>
+<a href="#39" id="39">39</a>
+<a href="#40" id="40">40</a>
+<a href="#41" id="41">41</a>
+<a href="#42" id="42">42</a>
+<a href="#43" id="43">43</a>
+<a href="#44" id="44">44</a>
+<a href="#45" id="45">45</a>
+<a href="#46" id="46">46</a>
+<a href="#47" id="47">47</a>
+<a href="#48" id="48">48</a>
+<a href="#49" id="49">49</a>
+<a href="#50" id="50">50</a>
+<a href="#51" id="51">51</a>
+<a href="#52" id="52">52</a>
+<a href="#53" id="53">53</a>
+<a href="#54" id="54">54</a>
+<a href="#55" id="55">55</a>
+<a href="#56" id="56">56</a>
+<a href="#57" id="57">57</a>
+<a href="#58" id="58">58</a>
+<a href="#59" id="59">59</a>
+<a href="#60" id="60">60</a>
+<a href="#61" id="61">61</a>
+<a href="#62" id="62">62</a>
+<a href="#63" id="63">63</a>
+<a href="#64" id="64">64</a>
+<a href="#65" id="65">65</a>
+<a href="#66" id="66">66</a>
+</pre></div><pre class="rust"><code><span class="kw">use </span>std::{sync::Arc, path::PathBuf};
+
+<span class="kw">use </span>axum::{
+    extract::{ws::{WebSocketUpgrade, WebSocket, Message}, State},
+    response::Response,
+    routing::get,
+    Router,
+};
+
+<span class="kw">use </span>tokio::sync::RwLock;
+<span class="kw">use </span>tower_http::services::ServeDir;
+
+<span class="kw">use </span><span class="kw">crate</span>::comms::RadarData;
+
+<span class="attr">#[derive(Clone)]
+</span><span class="kw">struct </span>AppState {
+    data_lock: Arc&lt;RwLock&lt;RadarData&gt;&gt;
+}
+
+<span class="kw">async fn </span>ws_handler(ws: WebSocketUpgrade, State(state): State&lt;AppState&gt;) -&gt; Response {
+    ws.on_upgrade(|socket| handle_socket(socket, state))
+}
+
+<span class="kw">async fn </span>handle_socket(<span class="kw-2">mut </span>socket: WebSocket, state: AppState) {
+    <span class="kw">while let </span><span class="prelude-val">Some</span>(msg) = socket.recv().<span class="kw">await </span>{
+        <span class="kw">if let </span><span class="prelude-val">Ok</span>(msg) = msg {
+            <span class="kw">if </span>msg == Message::Text(<span class="string">&quot;requestInfo&quot;</span>.to_string()) {
+                <span class="kw">let </span>data = state.data_lock.read().<span class="kw">await</span>;
+
+                <span class="kw">let </span>str = {
+                    <span class="kw">match </span>serde_json::to_string(<span class="kw-2">&amp;*</span>data) {
+                        <span class="prelude-val">Ok</span>(json) =&gt; json,
+                        <span class="prelude-val">Err</span>(e) =&gt; {
+                            <span class="macro">log::error!</span>(<span class="string">&quot;Could not serialize data into json: {}&quot;</span>, e.to_string());
+                            <span class="macro">log::error!</span>(<span class="string">&quot;Sending \&quot;error\&quot; instead&quot;</span>);
+                            <span class="string">&quot;error&quot;</span>.to_string()
+                        },
+                    }
+                };
+
+                <span class="kw">if </span>socket.send(Message::Text(str)).<span class="kw">await</span>.is_err() {
+                    <span class="comment">// client disconnected
+                    </span><span class="kw">return</span>;
+                }
+            }
+        } <span class="kw">else </span>{
+            <span class="comment">// client disconnected
+            </span><span class="kw">return</span>;
+        }
+    }
+}
+
+<span class="kw">pub async fn </span>run(path: PathBuf, port: u16, data_lock: Arc&lt;RwLock&lt;RadarData&gt;&gt;) -&gt; anyhow::Result&lt;()&gt; {
+    <span class="kw">let </span>app = Router::new()
+        .nest_service(<span class="string">&quot;/&quot;</span>, ServeDir::new(path))
+        .route(<span class="string">&quot;/ws&quot;</span>, get(ws_handler))
+        .with_state(AppState { data_lock });
+
+    <span class="kw">let </span>address = <span class="macro">format!</span>(<span class="string">&quot;0.0.0.0:{}&quot;</span>, port);
+
+    axum::Server::bind(<span class="kw-2">&amp;</span>address.parse()<span class="question-mark">?</span>)
+        .serve(app.into_make_service())
+        .<span class="kw">await</span><span class="question-mark">?</span>;
+
+    <span class="prelude-val">Ok</span>(())
+}</code></pre></div></section></main></body></html>
\ No newline at end of file
diff --git a/docs/static.files/COPYRIGHT-23e9bde6c69aea69.txt b/docs/static.files/COPYRIGHT-23e9bde6c69aea69.txt
new file mode 100644
index 0000000..1447df7
--- /dev/null
+++ b/docs/static.files/COPYRIGHT-23e9bde6c69aea69.txt
@@ -0,0 +1,50 @@
+# REUSE-IgnoreStart
+
+These documentation pages include resources by third parties. This copyright
+file applies only to those resources. The following third party resources are
+included, and carry their own copyright notices and license terms:
+
+* Fira Sans (FiraSans-Regular.woff2, FiraSans-Medium.woff2):
+
+    Copyright (c) 2014, Mozilla Foundation https://mozilla.org/
+    with Reserved Font Name Fira Sans.
+
+    Copyright (c) 2014, Telefonica S.A.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See FiraSans-LICENSE.txt.
+
+* rustdoc.css, main.js, and playpen.js:
+
+    Copyright 2015 The Rust Developers.
+    Licensed under the Apache License, Version 2.0 (see LICENSE-APACHE.txt) or
+    the MIT license (LICENSE-MIT.txt) at your option.
+
+* normalize.css:
+
+    Copyright (c) Nicolas Gallagher and Jonathan Neal.
+    Licensed under the MIT license (see LICENSE-MIT.txt).
+
+* Source Code Pro (SourceCodePro-Regular.ttf.woff2,
+    SourceCodePro-Semibold.ttf.woff2, SourceCodePro-It.ttf.woff2):
+
+    Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/),
+    with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark
+    of Adobe Systems Incorporated in the United States and/or other countries.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See SourceCodePro-LICENSE.txt.
+
+* Source Serif 4 (SourceSerif4-Regular.ttf.woff2, SourceSerif4-Bold.ttf.woff2,
+    SourceSerif4-It.ttf.woff2):
+
+    Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name
+    'Source'. All Rights Reserved. Source is a trademark of Adobe in the United
+    States and/or other countries.
+
+    Licensed under the SIL Open Font License, Version 1.1.
+    See SourceSerif4-LICENSE.md.
+
+This copyright file is intended to be distributed with rustdoc output.
+
+# REUSE-IgnoreEnd
diff --git a/docs/static.files/FiraSans-LICENSE-db4b642586e02d97.txt b/docs/static.files/FiraSans-LICENSE-db4b642586e02d97.txt
new file mode 100644
index 0000000..d7e9c14
--- /dev/null
+++ b/docs/static.files/FiraSans-LICENSE-db4b642586e02d97.txt
@@ -0,0 +1,98 @@
+// REUSE-IgnoreStart
+
+Digitized data copyright (c) 2012-2015, The Mozilla Foundation and Telefonica S.A.
+with Reserved Font Name < Fira >,
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+// REUSE-IgnoreEnd
diff --git a/docs/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 b/docs/static.files/FiraSans-Medium-8f9a781e4970d388.woff2
new file mode 100644
index 0000000..7a1e5fc
Binary files /dev/null and b/docs/static.files/FiraSans-Medium-8f9a781e4970d388.woff2 differ
diff --git a/docs/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 b/docs/static.files/FiraSans-Regular-018c141bf0843ffd.woff2
new file mode 100644
index 0000000..e766e06
Binary files /dev/null and b/docs/static.files/FiraSans-Regular-018c141bf0843ffd.woff2 differ
diff --git a/docs/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt b/docs/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt
new file mode 100644
index 0000000..16fe87b
--- /dev/null
+++ b/docs/static.files/LICENSE-APACHE-b91fa81cba47b86a.txt
@@ -0,0 +1,201 @@
+                              Apache License
+                        Version 2.0, January 2004
+                     http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+   "License" shall mean the terms and conditions for use, reproduction,
+   and distribution as defined by Sections 1 through 9 of this document.
+
+   "Licensor" shall mean the copyright owner or entity authorized by
+   the copyright owner that is granting the License.
+
+   "Legal Entity" shall mean the union of the acting entity and all
+   other entities that control, are controlled by, or are under common
+   control with that entity. For the purposes of this definition,
+   "control" means (i) the power, direct or indirect, to cause the
+   direction or management of such entity, whether by contract or
+   otherwise, or (ii) ownership of fifty percent (50%) or more of the
+   outstanding shares, or (iii) beneficial ownership of such entity.
+
+   "You" (or "Your") shall mean an individual or Legal Entity
+   exercising permissions granted by this License.
+
+   "Source" form shall mean the preferred form for making modifications,
+   including but not limited to software source code, documentation
+   source, and configuration files.
+
+   "Object" form shall mean any form resulting from mechanical
+   transformation or translation of a Source form, including but
+   not limited to compiled object code, generated documentation,
+   and conversions to other media types.
+
+   "Work" shall mean the work of authorship, whether in Source or
+   Object form, made available under the License, as indicated by a
+   copyright notice that is included in or attached to the work
+   (an example is provided in the Appendix below).
+
+   "Derivative Works" shall mean any work, whether in Source or Object
+   form, that is based on (or derived from) the Work and for which the
+   editorial revisions, annotations, elaborations, or other modifications
+   represent, as a whole, an original work of authorship. For the purposes
+   of this License, Derivative Works shall not include works that remain
+   separable from, or merely link (or bind by name) to the interfaces of,
+   the Work and Derivative Works thereof.
+
+   "Contribution" shall mean any work of authorship, including
+   the original version of the Work and any modifications or additions
+   to that Work or Derivative Works thereof, that is intentionally
+   submitted to Licensor for inclusion in the Work by the copyright owner
+   or by an individual or Legal Entity authorized to submit on behalf of
+   the copyright owner. For the purposes of this definition, "submitted"
+   means any form of electronic, verbal, or written communication sent
+   to the Licensor or its representatives, including but not limited to
+   communication on electronic mailing lists, source code control systems,
+   and issue tracking systems that are managed by, or on behalf of, the
+   Licensor for the purpose of discussing and improving the Work, but
+   excluding communication that is conspicuously marked or otherwise
+   designated in writing by the copyright owner as "Not a Contribution."
+
+   "Contributor" shall mean Licensor and any individual or Legal Entity
+   on behalf of whom a Contribution has been received by Licensor and
+   subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   copyright license to reproduce, prepare Derivative Works of,
+   publicly display, publicly perform, sublicense, and distribute the
+   Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+   this License, each Contributor hereby grants to You a perpetual,
+   worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+   (except as stated in this section) patent license to make, have made,
+   use, offer to sell, sell, import, and otherwise transfer the Work,
+   where such license applies only to those patent claims licensable
+   by such Contributor that are necessarily infringed by their
+   Contribution(s) alone or by combination of their Contribution(s)
+   with the Work to which such Contribution(s) was submitted. If You
+   institute patent litigation against any entity (including a
+   cross-claim or counterclaim in a lawsuit) alleging that the Work
+   or a Contribution incorporated within the Work constitutes direct
+   or contributory patent infringement, then any patent licenses
+   granted to You under this License for that Work shall terminate
+   as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+   Work or Derivative Works thereof in any medium, with or without
+   modifications, and in Source or Object form, provided that You
+   meet the following conditions:
+
+   (a) You must give any other recipients of the Work or
+       Derivative Works a copy of this License; and
+
+   (b) You must cause any modified files to carry prominent notices
+       stating that You changed the files; and
+
+   (c) You must retain, in the Source form of any Derivative Works
+       that You distribute, all copyright, patent, trademark, and
+       attribution notices from the Source form of the Work,
+       excluding those notices that do not pertain to any part of
+       the Derivative Works; and
+
+   (d) If the Work includes a "NOTICE" text file as part of its
+       distribution, then any Derivative Works that You distribute must
+       include a readable copy of the attribution notices contained
+       within such NOTICE file, excluding those notices that do not
+       pertain to any part of the Derivative Works, in at least one
+       of the following places: within a NOTICE text file distributed
+       as part of the Derivative Works; within the Source form or
+       documentation, if provided along with the Derivative Works; or,
+       within a display generated by the Derivative Works, if and
+       wherever such third-party notices normally appear. The contents
+       of the NOTICE file are for informational purposes only and
+       do not modify the License. You may add Your own attribution
+       notices within Derivative Works that You distribute, alongside
+       or as an addendum to the NOTICE text from the Work, provided
+       that such additional attribution notices cannot be construed
+       as modifying the License.
+
+   You may add Your own copyright statement to Your modifications and
+   may provide additional or different license terms and conditions
+   for use, reproduction, or distribution of Your modifications, or
+   for any such Derivative Works as a whole, provided Your use,
+   reproduction, and distribution of the Work otherwise complies with
+   the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+   any Contribution intentionally submitted for inclusion in the Work
+   by You to the Licensor shall be under the terms and conditions of
+   this License, without any additional terms or conditions.
+   Notwithstanding the above, nothing herein shall supersede or modify
+   the terms of any separate license agreement you may have executed
+   with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+   names, trademarks, service marks, or product names of the Licensor,
+   except as required for reasonable and customary use in describing the
+   origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+   agreed to in writing, Licensor provides the Work (and each
+   Contributor provides its Contributions) on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+   implied, including, without limitation, any warranties or conditions
+   of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+   PARTICULAR PURPOSE. You are solely responsible for determining the
+   appropriateness of using or redistributing the Work and assume any
+   risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+   whether in tort (including negligence), contract, or otherwise,
+   unless required by applicable law (such as deliberate and grossly
+   negligent acts) or agreed to in writing, shall any Contributor be
+   liable to You for damages, including any direct, indirect, special,
+   incidental, or consequential damages of any character arising as a
+   result of this License or out of the use or inability to use the
+   Work (including but not limited to damages for loss of goodwill,
+   work stoppage, computer failure or malfunction, or any and all
+   other commercial damages or losses), even if such Contributor
+   has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+   the Work or Derivative Works thereof, You may choose to offer,
+   and charge a fee for, acceptance of support, warranty, indemnity,
+   or other liability obligations and/or rights consistent with this
+   License. However, in accepting such obligations, You may act only
+   on Your own behalf and on Your sole responsibility, not on behalf
+   of any other Contributor, and only if You agree to indemnify,
+   defend, and hold each Contributor harmless for any liability
+   incurred by, or claims asserted against, such Contributor by reason
+   of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Apache License to your work.
+
+   To apply the Apache License to your work, attach the following
+   boilerplate notice, with the fields enclosed by brackets "[]"
+   replaced with your own identifying information. (Don't include
+   the brackets!)  The text should be enclosed in the appropriate
+   comment syntax for the file format. We also recommend that a
+   file or class name and description of purpose be included on the
+   same "printed page" as the copyright notice for easier
+   identification within third-party archives.
+
+Copyright [yyyy] [name of copyright owner]
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+	http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/docs/static.files/LICENSE-MIT-65090b722b3f6c56.txt b/docs/static.files/LICENSE-MIT-65090b722b3f6c56.txt
new file mode 100644
index 0000000..31aa793
--- /dev/null
+++ b/docs/static.files/LICENSE-MIT-65090b722b3f6c56.txt
@@ -0,0 +1,23 @@
+Permission is hereby granted, free of charge, to any
+person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the
+Software without restriction, including without
+limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software
+is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice
+shall be included in all copies or substantial portions
+of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/docs/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 b/docs/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2
new file mode 100644
index 0000000..1866ad4
Binary files /dev/null and b/docs/static.files/NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2 differ
diff --git a/docs/static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt b/docs/static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt
new file mode 100644
index 0000000..4b3edc2
--- /dev/null
+++ b/docs/static.files/NanumBarunGothic-LICENSE-18c5adf4b52b4041.txt
@@ -0,0 +1,103 @@
+// REUSE-IgnoreStart
+
+Copyright (c) 2010, NAVER Corporation (https://www.navercorp.com/),
+
+with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic,
+NanumMyeongjo, Naver NanumMyeongjo, NanumBrush, Naver NanumBrush, NanumPen,
+Naver NanumPen, Naver NanumGothicEco, NanumGothicEco, Naver NanumMyeongjoEco,
+NanumMyeongjoEco, Naver NanumGothicLight, NanumGothicLight, NanumBarunGothic,
+Naver NanumBarunGothic, NanumSquareRound, NanumBarunPen, MaruBuri
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at:
+http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+// REUSE-IgnoreEnd
diff --git a/docs/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 b/docs/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2
new file mode 100644
index 0000000..462c34e
Binary files /dev/null and b/docs/static.files/SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2 differ
diff --git a/docs/static.files/SourceCodePro-LICENSE-d180d465a756484a.txt b/docs/static.files/SourceCodePro-LICENSE-d180d465a756484a.txt
new file mode 100644
index 0000000..0d2941e
--- /dev/null
+++ b/docs/static.files/SourceCodePro-LICENSE-d180d465a756484a.txt
@@ -0,0 +1,97 @@
+// REUSE-IgnoreStart
+
+Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+// REUSE-IgnoreEnd
diff --git a/docs/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 b/docs/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2
new file mode 100644
index 0000000..10b558e
Binary files /dev/null and b/docs/static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2 differ
diff --git a/docs/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 b/docs/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2
new file mode 100644
index 0000000..5ec64ee
Binary files /dev/null and b/docs/static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2 differ
diff --git a/docs/static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 b/docs/static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2
new file mode 100644
index 0000000..181a07f
Binary files /dev/null and b/docs/static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2 differ
diff --git a/docs/static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 b/docs/static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2
new file mode 100644
index 0000000..2ae08a7
Binary files /dev/null and b/docs/static.files/SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2 differ
diff --git a/docs/static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md b/docs/static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md
new file mode 100644
index 0000000..175fa4f
--- /dev/null
+++ b/docs/static.files/SourceSerif4-LICENSE-3bb119e13b1258b7.md
@@ -0,0 +1,98 @@
+<!-- REUSE-IgnoreStart -->
+
+Copyright 2014-2021 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
+Copyright 2014 - 2023 Adobe (http://www.adobe.com/), with Reserved Font Name ‘Source’. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide
+development of collaborative font projects, to support the font creation
+efforts of academic and linguistic communities, and to provide a free and
+open framework in which fonts may be shared and improved in partnership
+with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and
+redistributed freely as long as they are not sold by themselves. The
+fonts, including any derivative works, can be bundled, embedded,
+redistributed and/or sold with any software provided that any reserved
+names are not used by derivative works. The fonts and derivatives,
+however, cannot be released under any other type of license. The
+requirement for fonts to remain under this license does not apply
+to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright
+Holder(s) under this license and clearly marked as such. This may
+include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the
+copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as
+distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting,
+or substituting -- in part or in whole -- any of the components of the
+Original Version, by changing formats or by porting the Font Software to a
+new environment.
+
+"Author" refers to any designer, engineer, programmer, technical
+writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of the Font Software, to use, study, copy, merge, embed, modify,
+redistribute, and sell modified and unmodified copies of the Font
+Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components,
+in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled,
+redistributed and/or sold with any software, provided that each copy
+contains the above copyright notice and this license. These can be
+included either as stand-alone text files, human-readable headers or
+in the appropriate machine-readable metadata fields within text or
+binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font
+Name(s) unless explicit written permission is granted by the corresponding
+Copyright Holder. This restriction only applies to the primary font name as
+presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+Software shall not be used to promote, endorse or advertise any
+Modified Version, except to acknowledge the contribution(s) of the
+Copyright Holder(s) and the Author(s) or with their explicit written
+permission.
+
+5) The Font Software, modified or unmodified, in part or in whole,
+must be distributed entirely under this license, and must not be
+distributed under any other license. The requirement for fonts to
+remain under this license does not apply to any document created
+using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are
+not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+OTHER DEALINGS IN THE FONT SOFTWARE.
+
+<!-- REUSE-IgnoreEnd -->
diff --git a/docs/static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 b/docs/static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2
new file mode 100644
index 0000000..0263fc3
Binary files /dev/null and b/docs/static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2 differ
diff --git a/docs/static.files/clipboard-7571035ce49a181d.svg b/docs/static.files/clipboard-7571035ce49a181d.svg
new file mode 100644
index 0000000..8adbd99
--- /dev/null
+++ b/docs/static.files/clipboard-7571035ce49a181d.svg
@@ -0,0 +1 @@
+<svg width="24" height="25" viewBox="0 0 24 25" xmlns="http://www.w3.org/2000/svg" aria-label="Copy to clipboard"><path d="M18 20h2v3c0 1-1 2-2 2H2c-.998 0-2-1-2-2V5c0-.911.755-1.667 1.667-1.667h5A3.323 3.323 0 0110 0a3.323 3.323 0 013.333 3.333h5C19.245 3.333 20 4.09 20 5v8.333h-2V9H2v14h16v-3zM3 7h14c0-.911-.793-1.667-1.75-1.667H13.5c-.957 0-1.75-.755-1.75-1.666C11.75 2.755 10.957 2 10 2s-1.75.755-1.75 1.667c0 .911-.793 1.666-1.75 1.666H4.75C3.793 5.333 3 6.09 3 7z"/><path d="M4 19h6v2H4zM12 11H4v2h8zM4 17h4v-2H4zM15 15v-3l-4.5 4.5L15 21v-3l8.027-.032L23 15z"/></svg>
diff --git a/docs/static.files/favicon-16x16-8b506e7a72182f1c.png b/docs/static.files/favicon-16x16-8b506e7a72182f1c.png
new file mode 100644
index 0000000..ea4b45c
Binary files /dev/null and b/docs/static.files/favicon-16x16-8b506e7a72182f1c.png differ
diff --git a/docs/static.files/favicon-2c020d218678b618.svg b/docs/static.files/favicon-2c020d218678b618.svg
new file mode 100644
index 0000000..8b34b51
--- /dev/null
+++ b/docs/static.files/favicon-2c020d218678b618.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;">
+<defs>
+  <style type="text/css"><![CDATA[
+    #logo {
+      fill-rule: nonzero;
+    }
+    #logo-teeth {
+      stroke: #000000;
+      stroke-width: 0.92px;
+    }
+    @media (prefers-color-scheme: dark) {
+      #logo {
+        fill: #FFFFFF;
+        fill-rule: nonzero;
+      }
+      #logo-teeth {
+        fill: #FFFFFF;
+        stroke: #FFFFFF;
+        stroke-width: 0.92px;
+      }
+    }
+  ]]></style>
+</defs>
+<path id="logo" d="M15.993,1.54c-7.972,0 -14.461,6.492 -14.461,14.462c0,7.969 6.492,14.461 14.461,14.461c7.97,0 14.462,-6.492 14.462,-14.461c0,-7.97 -6.492,-14.462 -14.462,-14.462Zm-0.021,1.285c0.511,0.013 0.924,0.439 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.01,0 0.019,0.001 0.028,0.001Zm2.178,1.566c3.379,0.633 6.313,2.723 8.016,5.709l-1.123,2.533c-0.193,0.438 0.006,0.952 0.44,1.147l2.16,0.958c0.067,0.675 0.076,1.355 0.025,2.031l-1.202,0c-0.12,0 -0.169,0.08 -0.169,0.196l0,0.551c0,1.297 -0.731,1.582 -1.373,1.652c-0.612,0.07 -1.288,-0.257 -1.374,-0.63c-0.361,-2.029 -0.961,-2.46 -1.909,-3.21c1.178,-0.746 2.401,-1.85 2.401,-3.325c0,-1.594 -1.092,-2.597 -1.835,-3.09c-1.046,-0.688 -2.203,-0.826 -2.515,-0.826l-12.421,0c1.717,-1.918 4.02,-3.218 6.55,-3.696l1.466,1.536c0.33,0.346 0.878,0.361 1.223,0.028l1.64,-1.564Zm-13.522,7.043c0.511,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.951 0.951,-0.951c0.009,0 0.019,0 0.028,0Zm22.685,0.043c0.511,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.43,0.952 -0.952,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.01,0 0.019,0 0.028,0.001Zm-20.892,0.153l1.658,0l0,7.477l-3.347,0c-0.414,-1.452 -0.542,-2.97 -0.38,-4.47l2.05,-0.912c0.438,-0.195 0.637,-0.706 0.441,-1.144l-0.422,-0.951Zm6.92,0.079l3.949,0c0.205,0 1.441,0.236 1.441,1.163c0,0.768 -0.948,1.043 -1.728,1.043l-3.665,0l0.003,-2.206Zm0,5.373l3.026,0c0.275,0 1.477,0.079 1.86,1.615c0.119,0.471 0.385,2.007 0.566,2.499c0.18,0.551 0.911,1.652 1.691,1.652l4.938,0c-0.331,0.444 -0.693,0.863 -1.083,1.255l-2.01,-0.432c-0.468,-0.101 -0.93,0.199 -1.031,0.667l-0.477,2.228c-3.104,1.406 -6.672,1.389 -9.762,-0.046l-0.478,-2.228c-0.101,-0.468 -0.56,-0.767 -1.028,-0.667l-1.967,0.423c-0.365,-0.377 -0.704,-0.778 -1.016,-1.2l9.567,0c0.107,0 0.181,-0.018 0.181,-0.119l0,-3.384c0,-0.097 -0.074,-0.119 -0.181,-0.119l-2.799,0l0.003,-2.144Zm-4.415,7.749c0.512,0.015 0.924,0.44 0.924,0.951c0,0.522 -0.429,0.952 -0.951,0.952c-0.522,0 -0.952,-0.43 -0.952,-0.952c0,0 0,0 0,0c0,-0.522 0.43,-0.952 0.952,-0.952c0.009,0 0.018,0.001 0.027,0.001Zm14.089,0.043c0.511,0.015 0.924,0.439 0.923,0.951c0,0.522 -0.429,0.952 -0.951,0.952c-0.522,0 -0.951,-0.43 -0.951,-0.952c0,0 0,0 0,0c0,-0.522 0.429,-0.952 0.951,-0.952c0.009,0 0.018,0 0.028,0.001Z"/><path id="logo-teeth" d="M29.647,16.002c0,7.49 -6.163,13.653 -13.654,13.653c-7.49,0 -13.654,-6.163 -13.654,-13.653c0,-7.491 6.164,-13.654 13.654,-13.654c7.491,0 13.654,6.163 13.654,13.654Zm-0.257,-1.319l2.13,1.319l-2.13,1.318l1.83,1.71l-2.344,0.878l1.463,2.035l-2.475,0.404l1.04,2.282l-2.506,-0.089l0.575,2.442l-2.441,-0.576l0.089,2.506l-2.283,-1.04l-0.403,2.475l-2.035,-1.462l-0.878,2.343l-1.71,-1.829l-1.319,2.129l-1.318,-2.129l-1.71,1.829l-0.878,-2.343l-2.035,1.462l-0.404,-2.475l-2.282,1.04l0.089,-2.506l-2.442,0.576l0.575,-2.442l-2.505,0.089l1.04,-2.282l-2.475,-0.404l1.462,-2.035l-2.343,-0.878l1.829,-1.71l-2.129,-1.318l2.129,-1.319l-1.829,-1.71l2.343,-0.878l-1.462,-2.035l2.475,-0.404l-1.04,-2.282l2.505,0.089l-0.575,-2.441l2.442,0.575l-0.089,-2.506l2.282,1.04l0.404,-2.475l2.035,1.463l0.878,-2.344l1.71,1.83l1.318,-2.13l1.319,2.13l1.71,-1.83l0.878,2.344l2.035,-1.463l0.403,2.475l2.283,-1.04l-0.089,2.506l2.441,-0.575l-0.575,2.441l2.506,-0.089l-1.04,2.282l2.475,0.404l-1.463,2.035l2.344,0.878l-1.83,1.71Z"/></svg>
diff --git a/docs/static.files/favicon-32x32-422f7d1d52889060.png b/docs/static.files/favicon-32x32-422f7d1d52889060.png
new file mode 100644
index 0000000..69b8613
Binary files /dev/null and b/docs/static.files/favicon-32x32-422f7d1d52889060.png differ
diff --git a/docs/static.files/main-c5bd66d33317d69f.js b/docs/static.files/main-c5bd66d33317d69f.js
new file mode 100644
index 0000000..43133d6
--- /dev/null
+++ b/docs/static.files/main-c5bd66d33317d69f.js
@@ -0,0 +1,12 @@
+"use strict";window.RUSTDOC_TOOLTIP_HOVER_MS=300;window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS=450;function resourcePath(basename,extension){return getVar("root-path")+basename+getVar("resource-suffix")+extension}function hideMain(){addClass(document.getElementById(MAIN_ID),"hidden")}function showMain(){removeClass(document.getElementById(MAIN_ID),"hidden")}function elemIsInParent(elem,parent){while(elem&&elem!==document.body){if(elem===parent){return true}elem=elem.parentElement}return false}function blurHandler(event,parentElem,hideCallback){if(!elemIsInParent(document.activeElement,parentElem)&&!elemIsInParent(event.relatedTarget,parentElem)){hideCallback()}}window.rootPath=getVar("root-path");window.currentCrate=getVar("current-crate");function setMobileTopbar(){const mobileTopbar=document.querySelector(".mobile-topbar");const locationTitle=document.querySelector(".sidebar h2.location");if(mobileTopbar&&locationTitle){const mobileTitle=document.createElement("h2");mobileTitle.innerHTML=locationTitle.innerHTML;mobileTopbar.appendChild(mobileTitle)}}function getVirtualKey(ev){if("key"in ev&&typeof ev.key!=="undefined"){return ev.key}const c=ev.charCode||ev.keyCode;if(c===27){return"Escape"}return String.fromCharCode(c)}const MAIN_ID="main-content";const SETTINGS_BUTTON_ID="settings-menu";const ALTERNATIVE_DISPLAY_ID="alternative-display";const NOT_DISPLAYED_ID="not-displayed";const HELP_BUTTON_ID="help-button";function getSettingsButton(){return document.getElementById(SETTINGS_BUTTON_ID)}function getHelpButton(){return document.getElementById(HELP_BUTTON_ID)}function getNakedUrl(){return window.location.href.split("?")[0].split("#")[0]}function insertAfter(newNode,referenceNode){referenceNode.parentNode.insertBefore(newNode,referenceNode.nextSibling)}function getOrCreateSection(id,classes){let el=document.getElementById(id);if(!el){el=document.createElement("section");el.id=id;el.className=classes;insertAfter(el,document.getElementById(MAIN_ID))}return el}function getAlternativeDisplayElem(){return getOrCreateSection(ALTERNATIVE_DISPLAY_ID,"content hidden")}function getNotDisplayedElem(){return getOrCreateSection(NOT_DISPLAYED_ID,"hidden")}function switchDisplayedElement(elemToDisplay){const el=getAlternativeDisplayElem();if(el.children.length>0){getNotDisplayedElem().appendChild(el.firstElementChild)}if(elemToDisplay===null){addClass(el,"hidden");showMain();return}el.appendChild(elemToDisplay);hideMain();removeClass(el,"hidden")}function browserSupportsHistoryApi(){return window.history&&typeof window.history.pushState==="function"}function preLoadCss(cssUrl){const link=document.createElement("link");link.href=cssUrl;link.rel="preload";link.as="style";document.getElementsByTagName("head")[0].appendChild(link)}(function(){const isHelpPage=window.location.pathname.endsWith("/help.html");function loadScript(url){const script=document.createElement("script");script.src=url;document.head.append(script)}getSettingsButton().onclick=event=>{if(event.ctrlKey||event.altKey||event.metaKey){return}window.hideAllModals(false);addClass(getSettingsButton(),"rotate");event.preventDefault();loadScript(getVar("static-root-path")+getVar("settings-js"));setTimeout(()=>{const themes=getVar("themes").split(",");for(const theme of themes){if(theme!==""){preLoadCss(getVar("root-path")+theme+".css")}}},0)};window.searchState={loadingText:"Loading search results...",input:document.getElementsByClassName("search-input")[0],outputElement:()=>{let el=document.getElementById("search");if(!el){el=document.createElement("section");el.id="search";getNotDisplayedElem().appendChild(el)}return el},title:document.title,titleBeforeSearch:document.title,timeout:null,currentTab:0,focusedByTab:[null,null,null],clearInputTimeout:()=>{if(searchState.timeout!==null){clearTimeout(searchState.timeout);searchState.timeout=null}},isDisplayed:()=>searchState.outputElement().parentElement.id===ALTERNATIVE_DISPLAY_ID,focus:()=>{searchState.input.focus()},defocus:()=>{searchState.input.blur()},showResults:search=>{if(search===null||typeof search==="undefined"){search=searchState.outputElement()}switchDisplayedElement(search);searchState.mouseMovedAfterSearch=false;document.title=searchState.title},removeQueryParameters:()=>{document.title=searchState.titleBeforeSearch;if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.hash)}},hideResults:()=>{switchDisplayedElement(null);searchState.removeQueryParameters()},getQueryStringParams:()=>{const params={};window.location.search.substring(1).split("&").map(s=>{const pair=s.split("=");params[decodeURIComponent(pair[0])]=typeof pair[1]==="undefined"?null:decodeURIComponent(pair[1])});return params},setup:()=>{const search_input=searchState.input;if(!searchState.input){return}let searchLoaded=false;function loadSearch(){if(!searchLoaded){searchLoaded=true;loadScript(getVar("static-root-path")+getVar("search-js"));loadScript(resourcePath("search-index",".js"))}}search_input.addEventListener("focus",()=>{search_input.origPlaceholder=search_input.placeholder;search_input.placeholder="Type your search here.";loadSearch()});if(search_input.value!==""){loadSearch()}const params=searchState.getQueryStringParams();if(params.search!==undefined){searchState.setLoadingSearch();loadSearch()}},setLoadingSearch:()=>{const search=searchState.outputElement();search.innerHTML="<h3 class=\"search-loading\">"+searchState.loadingText+"</h3>";searchState.showResults(search)},};const toggleAllDocsId="toggle-all-docs";let savedHash="";function handleHashes(ev){if(ev!==null&&searchState.isDisplayed()&&ev.newURL){switchDisplayedElement(null);const hash=ev.newURL.slice(ev.newURL.indexOf("#")+1);if(browserSupportsHistoryApi()){history.replaceState(null,"",getNakedUrl()+window.location.search+"#"+hash)}const elem=document.getElementById(hash);if(elem){elem.scrollIntoView()}}const pageId=window.location.hash.replace(/^#/,"");if(savedHash!==pageId){savedHash=pageId;if(pageId!==""){expandSection(pageId)}}}function onHashChange(ev){hideSidebar();handleHashes(ev)}function openParentDetails(elem){while(elem){if(elem.tagName==="DETAILS"){elem.open=true}elem=elem.parentNode}}function expandSection(id){openParentDetails(document.getElementById(id))}function handleEscape(ev){searchState.clearInputTimeout();searchState.hideResults();ev.preventDefault();searchState.defocus();window.hideAllModals(true)}function handleShortcut(ev){const disableShortcuts=getSettingValue("disable-shortcuts")==="true";if(ev.ctrlKey||ev.altKey||ev.metaKey||disableShortcuts){return}if(document.activeElement.tagName==="INPUT"&&document.activeElement.type!=="checkbox"&&document.activeElement.type!=="radio"){switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break}}else{switch(getVirtualKey(ev)){case"Escape":handleEscape(ev);break;case"s":case"S":ev.preventDefault();searchState.focus();break;case"+":ev.preventDefault();expandAllDocs();break;case"-":ev.preventDefault();collapseAllDocs();break;case"?":showHelp();break;default:break}}}document.addEventListener("keypress",handleShortcut);document.addEventListener("keydown",handleShortcut);function addSidebarItems(){if(!window.SIDEBAR_ITEMS){return}const sidebar=document.getElementsByClassName("sidebar-elems")[0];function block(shortty,id,longty){const filtered=window.SIDEBAR_ITEMS[shortty];if(!filtered){return}const h3=document.createElement("h3");h3.innerHTML=`<a href="index.html#${id}">${longty}</a>`;const ul=document.createElement("ul");ul.className="block "+shortty;for(const name of filtered){let path;if(shortty==="mod"){path=name+"/index.html"}else{path=shortty+"."+name+".html"}const current_page=document.location.href.split("/").pop();const link=document.createElement("a");link.href=path;if(path===current_page){link.className="current"}link.textContent=name;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebar.appendChild(h3);sidebar.appendChild(ul)}if(sidebar){block("primitive","primitives","Primitive Types");block("mod","modules","Modules");block("macro","macros","Macros");block("struct","structs","Structs");block("enum","enums","Enums");block("union","unions","Unions");block("constant","constants","Constants");block("static","static","Statics");block("trait","traits","Traits");block("fn","functions","Functions");block("type","types","Type Aliases");block("foreigntype","foreign-types","Foreign Types");block("keyword","keywords","Keywords");block("traitalias","trait-aliases","Trait Aliases")}}window.register_implementors=imp=>{const implementors=document.getElementById("implementors-list");const synthetic_implementors=document.getElementById("synthetic-implementors-list");const inlined_types=new Set();const TEXT_IDX=0;const SYNTHETIC_IDX=1;const TYPES_IDX=2;if(synthetic_implementors){onEachLazy(synthetic_implementors.getElementsByClassName("impl"),el=>{const aliases=el.getAttribute("data-aliases");if(!aliases){return}aliases.split(",").forEach(alias=>{inlined_types.add(alias)})})}let currentNbImpls=implementors.getElementsByClassName("impl").length;const traitName=document.querySelector(".main-heading h1 > .trait").textContent;const baseIdName="impl-"+traitName+"-";const libs=Object.getOwnPropertyNames(imp);const script=document.querySelector("script[data-ignore-extern-crates]");const ignoreExternCrates=new Set((script?script.getAttribute("data-ignore-extern-crates"):"").split(","));for(const lib of libs){if(lib===window.currentCrate||ignoreExternCrates.has(lib)){continue}const structs=imp[lib];struct_loop:for(const struct of structs){const list=struct[SYNTHETIC_IDX]?synthetic_implementors:implementors;if(struct[SYNTHETIC_IDX]){for(const struct_type of struct[TYPES_IDX]){if(inlined_types.has(struct_type)){continue struct_loop}inlined_types.add(struct_type)}}const code=document.createElement("h3");code.innerHTML=struct[TEXT_IDX];addClass(code,"code-header");onEachLazy(code.getElementsByTagName("a"),elem=>{const href=elem.getAttribute("href");if(href&&!/^(?:[a-z+]+:)?\/\//.test(href)){elem.setAttribute("href",window.rootPath+href)}});const currentId=baseIdName+currentNbImpls;const anchor=document.createElement("a");anchor.href="#"+currentId;addClass(anchor,"anchor");const display=document.createElement("div");display.id=currentId;addClass(display,"impl");display.appendChild(anchor);display.appendChild(code);list.appendChild(display);currentNbImpls+=1}}};if(window.pending_implementors){window.register_implementors(window.pending_implementors)}function addSidebarCrates(){if(!window.ALL_CRATES){return}const sidebarElems=document.getElementsByClassName("sidebar-elems")[0];if(!sidebarElems){return}const h3=document.createElement("h3");h3.innerHTML="Crates";const ul=document.createElement("ul");ul.className="block crate";for(const crate of window.ALL_CRATES){const link=document.createElement("a");link.href=window.rootPath+crate+"/index.html";if(window.rootPath!=="./"&&crate===window.currentCrate){link.className="current"}link.textContent=crate;const li=document.createElement("li");li.appendChild(link);ul.appendChild(li)}sidebarElems.appendChild(h3);sidebarElems.appendChild(ul)}function expandAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);removeClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hasClass(e,"type-contents-toggle")&&!hasClass(e,"more-examples-toggle")){e.open=true}});innerToggle.title="collapse all docs";innerToggle.children[0].innerText="\u2212"}function collapseAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);addClass(innerToggle,"will-expand");onEachLazy(document.getElementsByClassName("toggle"),e=>{if(e.parentNode.id!=="implementations-list"||(!hasClass(e,"implementors-toggle")&&!hasClass(e,"type-contents-toggle"))){e.open=false}});innerToggle.title="expand all docs";innerToggle.children[0].innerText="+"}function toggleAllDocs(){const innerToggle=document.getElementById(toggleAllDocsId);if(!innerToggle){return}if(hasClass(innerToggle,"will-expand")){expandAllDocs()}else{collapseAllDocs()}}(function(){const toggles=document.getElementById(toggleAllDocsId);if(toggles){toggles.onclick=toggleAllDocs}const hideMethodDocs=getSettingValue("auto-hide-method-docs")==="true";const hideImplementations=getSettingValue("auto-hide-trait-implementations")==="true";const hideLargeItemContents=getSettingValue("auto-hide-large-items")!=="false";function setImplementorsTogglesOpen(id,open){const list=document.getElementById(id);if(list!==null){onEachLazy(list.getElementsByClassName("implementors-toggle"),e=>{e.open=open})}}if(hideImplementations){setImplementorsTogglesOpen("trait-implementations-list",false);setImplementorsTogglesOpen("blanket-implementations-list",false)}onEachLazy(document.getElementsByClassName("toggle"),e=>{if(!hideLargeItemContents&&hasClass(e,"type-contents-toggle")){e.open=true}if(hideMethodDocs&&hasClass(e,"method-toggle")){e.open=false}})}());window.rustdoc_add_line_numbers_to_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");if(line_numbers.length>0){return}const count=x.textContent.split("\n").length;const elems=[];for(let i=0;i<count;++i){elems.push(i+1)}const node=document.createElement("pre");addClass(node,"example-line-numbers");node.innerHTML=elems.join("\n");parent.insertBefore(node,x)})};window.rustdoc_remove_line_numbers_from_examples=()=>{onEachLazy(document.getElementsByClassName("rust-example-rendered"),x=>{const parent=x.parentNode;const line_numbers=parent.querySelectorAll(".example-line-numbers");for(const node of line_numbers){parent.removeChild(node)}})};if(getSettingValue("line-numbers")==="true"){window.rustdoc_add_line_numbers_to_examples()}function showSidebar(){window.hideAllModals(false);const sidebar=document.getElementsByClassName("sidebar")[0];addClass(sidebar,"shown")}function hideSidebar(){const sidebar=document.getElementsByClassName("sidebar")[0];removeClass(sidebar,"shown")}window.addEventListener("resize",()=>{if(window.CURRENT_TOOLTIP_ELEMENT){const base=window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE;const force_visible=base.TOOLTIP_FORCE_VISIBLE;hideTooltip(false);if(force_visible){showTooltip(base);base.TOOLTIP_FORCE_VISIBLE=true}}});const mainElem=document.getElementById(MAIN_ID);if(mainElem){mainElem.addEventListener("click",hideSidebar)}onEachLazy(document.querySelectorAll("a[href^='#']"),el=>{el.addEventListener("click",()=>{expandSection(el.hash.slice(1));hideSidebar()})});onEachLazy(document.querySelectorAll(".toggle > summary:not(.hideme)"),el=>{el.addEventListener("click",e=>{if(e.target.tagName!=="SUMMARY"&&e.target.tagName!=="A"){e.preventDefault()}})});function showTooltip(e){const notable_ty=e.getAttribute("data-notable-ty");if(!window.NOTABLE_TRAITS&&notable_ty){const data=document.getElementById("notable-traits-data");if(data){window.NOTABLE_TRAITS=JSON.parse(data.innerText)}else{throw new Error("showTooltip() called with notable without any notable traits!")}}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE===e){clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);return}window.hideAllModals(false);const wrapper=document.createElement("div");if(notable_ty){wrapper.innerHTML="<div class=\"content\">"+window.NOTABLE_TRAITS[notable_ty]+"</div>"}else{if(e.getAttribute("title")!==null){e.setAttribute("data-title",e.getAttribute("title"));e.removeAttribute("title")}if(e.getAttribute("data-title")!==null){const titleContent=document.createElement("div");titleContent.className="content";titleContent.appendChild(document.createTextNode(e.getAttribute("data-title")));wrapper.appendChild(titleContent)}}wrapper.className="tooltip popover";const focusCatcher=document.createElement("div");focusCatcher.setAttribute("tabindex","0");focusCatcher.onfocus=hideTooltip;wrapper.appendChild(focusCatcher);const pos=e.getBoundingClientRect();wrapper.style.top=(pos.top+window.scrollY+pos.height)+"px";wrapper.style.left=0;wrapper.style.right="auto";wrapper.style.visibility="hidden";const body=document.getElementsByTagName("body")[0];body.appendChild(wrapper);const wrapperPos=wrapper.getBoundingClientRect();const finalPos=pos.left+window.scrollX-wrapperPos.width+24;if(finalPos>0){wrapper.style.left=finalPos+"px"}else{wrapper.style.setProperty("--popover-arrow-offset",(wrapperPos.right-pos.right+4)+"px")}wrapper.style.visibility="";window.CURRENT_TOOLTIP_ELEMENT=wrapper;window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE=e;clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);wrapper.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}clearTooltipHoverTimeout(e)};wrapper.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!elemIsInParent(ev.relatedTarget,e)){setTooltipHoverTimeout(e,false);addClass(wrapper,"fade-out")}}}function setTooltipHoverTimeout(element,show){clearTooltipHoverTimeout(element);if(!show&&!window.CURRENT_TOOLTIP_ELEMENT){return}if(show&&window.CURRENT_TOOLTIP_ELEMENT){return}if(window.CURRENT_TOOLTIP_ELEMENT&&window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE!==element){return}element.TOOLTIP_HOVER_TIMEOUT=setTimeout(()=>{if(show){showTooltip(element)}else if(!element.TOOLTIP_FORCE_VISIBLE){hideTooltip(false)}},show?window.RUSTDOC_TOOLTIP_HOVER_MS:window.RUSTDOC_TOOLTIP_HOVER_EXIT_MS)}function clearTooltipHoverTimeout(element){if(element.TOOLTIP_HOVER_TIMEOUT!==undefined){removeClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out");clearTimeout(element.TOOLTIP_HOVER_TIMEOUT);delete element.TOOLTIP_HOVER_TIMEOUT}}function tooltipBlurHandler(event){if(window.CURRENT_TOOLTIP_ELEMENT&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)&&!elemIsInParent(document.activeElement,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)&&!elemIsInParent(event.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE)){setTimeout(()=>hideTooltip(false),0)}}function hideTooltip(focus){if(window.CURRENT_TOOLTIP_ELEMENT){if(window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE){if(focus){window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.focus()}window.CURRENT_TOOLTIP_ELEMENT.TOOLTIP_BASE.TOOLTIP_FORCE_VISIBLE=false}const body=document.getElementsByTagName("body")[0];body.removeChild(window.CURRENT_TOOLTIP_ELEMENT);clearTooltipHoverTimeout(window.CURRENT_TOOLTIP_ELEMENT);window.CURRENT_TOOLTIP_ELEMENT=null}}onEachLazy(document.getElementsByClassName("tooltip"),e=>{e.onclick=()=>{e.TOOLTIP_FORCE_VISIBLE=e.TOOLTIP_FORCE_VISIBLE?false:true;if(window.CURRENT_TOOLTIP_ELEMENT&&!e.TOOLTIP_FORCE_VISIBLE){hideTooltip(true)}else{showTooltip(e);window.CURRENT_TOOLTIP_ELEMENT.setAttribute("tabindex","0");window.CURRENT_TOOLTIP_ELEMENT.focus();window.CURRENT_TOOLTIP_ELEMENT.onblur=tooltipBlurHandler}return false};e.onpointerenter=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointermove=ev=>{if(ev.pointerType!=="mouse"){return}setTooltipHoverTimeout(e,true)};e.onpointerleave=ev=>{if(ev.pointerType!=="mouse"){return}if(!e.TOOLTIP_FORCE_VISIBLE&&!elemIsInParent(ev.relatedTarget,window.CURRENT_TOOLTIP_ELEMENT)){setTooltipHoverTimeout(e,false);addClass(window.CURRENT_TOOLTIP_ELEMENT,"fade-out")}}});const sidebar_menu_toggle=document.getElementsByClassName("sidebar-menu-toggle")[0];if(sidebar_menu_toggle){sidebar_menu_toggle.addEventListener("click",()=>{const sidebar=document.getElementsByClassName("sidebar")[0];if(!hasClass(sidebar,"shown")){showSidebar()}else{hideSidebar()}})}function helpBlurHandler(event){blurHandler(event,getHelpButton(),window.hidePopoverMenus)}function buildHelpMenu(){const book_info=document.createElement("span");const channel=getVar("channel");book_info.className="top";book_info.innerHTML=`You can find more information in \
+<a href="https://doc.rust-lang.org/${channel}/rustdoc/">the rustdoc book</a>.`;const shortcuts=[["?","Show this help dialog"],["S","Focus the search field"],["↑","Move up in search results"],["↓","Move down in search results"],["← / →","Switch result tab (when results focused)"],["&#9166;","Go to active search result"],["+","Expand all sections"],["-","Collapse all sections"],].map(x=>"<dt>"+x[0].split(" ").map((y,index)=>((index&1)===0?"<kbd>"+y+"</kbd>":" "+y+" ")).join("")+"</dt><dd>"+x[1]+"</dd>").join("");const div_shortcuts=document.createElement("div");addClass(div_shortcuts,"shortcuts");div_shortcuts.innerHTML="<h2>Keyboard Shortcuts</h2><dl>"+shortcuts+"</dl></div>";const infos=[`For a full list of all search features, take a look <a \
+href="https://doc.rust-lang.org/${channel}/rustdoc/how-to-read-rustdoc.html\
+#the-search-interface">here</a>.`,"Prefix searches with a type followed by a colon (e.g., <code>fn:</code>) to \
+             restrict the search to a given item kind.","Accepted kinds are: <code>fn</code>, <code>mod</code>, <code>struct</code>, \
+             <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, \
+             and <code>const</code>.","Search functions by type signature (e.g., <code>vec -&gt; usize</code> or \
+             <code>-&gt; vec</code> or <code>String, enum:Cow -&gt; bool</code>)","You can look for items with an exact name by putting double quotes around \
+             your request: <code>\"string\"</code>","Look for functions that accept or return \
+              <a href=\"https://doc.rust-lang.org/std/primitive.slice.html\">slices</a> and \
+              <a href=\"https://doc.rust-lang.org/std/primitive.array.html\">arrays</a> by writing \
+              square brackets (e.g., <code>-&gt; [u8]</code> or <code>[] -&gt; Option</code>)","Look for items inside another one by searching for a path: <code>vec::Vec</code>",].map(x=>"<p>"+x+"</p>").join("");const div_infos=document.createElement("div");addClass(div_infos,"infos");div_infos.innerHTML="<h2>Search Tricks</h2>"+infos;const rustdoc_version=document.createElement("span");rustdoc_version.className="bottom";const rustdoc_version_code=document.createElement("code");rustdoc_version_code.innerText="rustdoc "+getVar("rustdoc-version");rustdoc_version.appendChild(rustdoc_version_code);const container=document.createElement("div");if(!isHelpPage){container.className="popover"}container.id="help";container.style.display="none";const side_by_side=document.createElement("div");side_by_side.className="side-by-side";side_by_side.appendChild(div_shortcuts);side_by_side.appendChild(div_infos);container.appendChild(book_info);container.appendChild(side_by_side);container.appendChild(rustdoc_version);if(isHelpPage){const help_section=document.createElement("section");help_section.appendChild(container);document.getElementById("main-content").appendChild(help_section);container.style.display="block"}else{const help_button=getHelpButton();help_button.appendChild(container);container.onblur=helpBlurHandler;help_button.onblur=helpBlurHandler;help_button.children[0].onblur=helpBlurHandler}return container}window.hideAllModals=switchFocus=>{hideSidebar();window.hidePopoverMenus();hideTooltip(switchFocus)};window.hidePopoverMenus=()=>{onEachLazy(document.querySelectorAll(".search-form .popover"),elem=>{elem.style.display="none"})};function getHelpMenu(buildNeeded){let menu=getHelpButton().querySelector(".popover");if(!menu&&buildNeeded){menu=buildHelpMenu()}return menu}function showHelp(){getHelpButton().querySelector("a").focus();const menu=getHelpMenu(true);if(menu.style.display==="none"){window.hideAllModals();menu.style.display=""}}if(isHelpPage){showHelp();document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault()})}else{document.querySelector(`#${HELP_BUTTON_ID} > a`).addEventListener("click",event=>{const target=event.target;if(target.tagName!=="A"||target.parentElement.id!==HELP_BUTTON_ID||event.ctrlKey||event.altKey||event.metaKey){return}event.preventDefault();const menu=getHelpMenu(true);const shouldShowHelp=menu.style.display==="none";if(shouldShowHelp){showHelp()}else{window.hidePopoverMenus()}})}setMobileTopbar();addSidebarItems();addSidebarCrates();onHashChange(null);window.addEventListener("hashchange",onHashChange);searchState.setup()}());(function(){let reset_button_timeout=null;const but=document.getElementById("copy-path");if(!but){return}but.onclick=()=>{const parent=but.parentElement;const path=[];onEach(parent.childNodes,child=>{if(child.tagName==="A"){path.push(child.textContent)}});const el=document.createElement("textarea");el.value=path.join("::");el.setAttribute("readonly","");el.style.position="absolute";el.style.left="-9999px";document.body.appendChild(el);el.select();document.execCommand("copy");document.body.removeChild(el);but.children[0].style.display="none";let tmp;if(but.childNodes.length<2){tmp=document.createTextNode("✓");but.appendChild(tmp)}else{onEachLazy(but.childNodes,e=>{if(e.nodeType===Node.TEXT_NODE){tmp=e;return true}});tmp.textContent="✓"}if(reset_button_timeout!==null){window.clearTimeout(reset_button_timeout)}function reset_button(){tmp.textContent="";reset_button_timeout=null;but.children[0].style.display=""}reset_button_timeout=window.setTimeout(reset_button,1000)}}())
\ No newline at end of file
diff --git a/docs/static.files/normalize-76eba96aa4d2e634.css b/docs/static.files/normalize-76eba96aa4d2e634.css
new file mode 100644
index 0000000..469959f
--- /dev/null
+++ b/docs/static.files/normalize-76eba96aa4d2e634.css
@@ -0,0 +1,2 @@
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
+html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
\ No newline at end of file
diff --git a/docs/static.files/noscript-5d8b3c7633ad77ba.css b/docs/static.files/noscript-5d8b3c7633ad77ba.css
new file mode 100644
index 0000000..8c63ef0
--- /dev/null
+++ b/docs/static.files/noscript-5d8b3c7633ad77ba.css
@@ -0,0 +1 @@
+ #main-content .attributes{margin-left:0 !important;}#copy-path{display:none;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);}@media (prefers-color-scheme:dark){:root{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);}}
\ No newline at end of file
diff --git a/docs/static.files/rust-logo-151179464ae7ed46.svg b/docs/static.files/rust-logo-151179464ae7ed46.svg
new file mode 100644
index 0000000..62424d8
--- /dev/null
+++ b/docs/static.files/rust-logo-151179464ae7ed46.svg
@@ -0,0 +1,61 @@
+<svg version="1.1" height="106" width="106" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g id="logo" transform="translate(53, 53)">
+  <path id="r" transform="translate(0.5, 0.5)" stroke="black" stroke-width="1" stroke-linejoin="round" d="
+    M -9,-15 H 4 C 12,-15 12,-7 4,-7 H -9 Z
+    M -40,22 H 0 V 11 H -9 V 3 H 1 C 12,3 6,22 15,22 H 40
+    V 3 H 34 V 5 C 34,13 25,12 24,7 C 23,2 19,-2 18,-2 C 33,-10 24,-26 12,-26 H -35
+    V -15 H -25 V 11 H -40 Z" />
+  <g id="gear" mask="url(#holes)">
+    <circle r="43" fill="none" stroke="black" stroke-width="9" />
+    <g id="cogs">
+      <polygon id="cog" stroke="black" stroke-width="3" stroke-linejoin="round" points="46,3 51,0 46,-3" />
+      <use xlink:href="#cog" transform="rotate(11.25)" />
+      <use xlink:href="#cog" transform="rotate(22.50)" />
+      <use xlink:href="#cog" transform="rotate(33.75)" />
+      <use xlink:href="#cog" transform="rotate(45.00)" />
+      <use xlink:href="#cog" transform="rotate(56.25)" />
+      <use xlink:href="#cog" transform="rotate(67.50)" />
+      <use xlink:href="#cog" transform="rotate(78.75)" />
+      <use xlink:href="#cog" transform="rotate(90.00)" />
+      <use xlink:href="#cog" transform="rotate(101.25)" />
+      <use xlink:href="#cog" transform="rotate(112.50)" />
+      <use xlink:href="#cog" transform="rotate(123.75)" />
+      <use xlink:href="#cog" transform="rotate(135.00)" />
+      <use xlink:href="#cog" transform="rotate(146.25)" />
+      <use xlink:href="#cog" transform="rotate(157.50)" />
+      <use xlink:href="#cog" transform="rotate(168.75)" />
+      <use xlink:href="#cog" transform="rotate(180.00)" />
+      <use xlink:href="#cog" transform="rotate(191.25)" />
+      <use xlink:href="#cog" transform="rotate(202.50)" />
+      <use xlink:href="#cog" transform="rotate(213.75)" />
+      <use xlink:href="#cog" transform="rotate(225.00)" />
+      <use xlink:href="#cog" transform="rotate(236.25)" />
+      <use xlink:href="#cog" transform="rotate(247.50)" />
+      <use xlink:href="#cog" transform="rotate(258.75)" />
+      <use xlink:href="#cog" transform="rotate(270.00)" />
+      <use xlink:href="#cog" transform="rotate(281.25)" />
+      <use xlink:href="#cog" transform="rotate(292.50)" />
+      <use xlink:href="#cog" transform="rotate(303.75)" />
+      <use xlink:href="#cog" transform="rotate(315.00)" />
+      <use xlink:href="#cog" transform="rotate(326.25)" />
+      <use xlink:href="#cog" transform="rotate(337.50)" />
+      <use xlink:href="#cog" transform="rotate(348.75)" />
+    </g>
+    <g id="mounts">
+      <polygon id="mount" stroke="black" stroke-width="6" stroke-linejoin="round" points="-7,-42 0,-35 7,-42" />
+      <use xlink:href="#mount" transform="rotate(72)" />
+      <use xlink:href="#mount" transform="rotate(144)" />
+      <use xlink:href="#mount" transform="rotate(216)" />
+      <use xlink:href="#mount" transform="rotate(288)" />
+    </g>
+  </g>
+  <mask id="holes">
+    <rect x="-60" y="-60" width="120" height="120" fill="white"/>
+    <circle id="hole" cy="-40" r="3" />
+    <use xlink:href="#hole" transform="rotate(72)" />
+    <use xlink:href="#hole" transform="rotate(144)" />
+    <use xlink:href="#hole" transform="rotate(216)" />
+    <use xlink:href="#hole" transform="rotate(288)" />
+  </mask>
+</g>
+</svg>
diff --git a/docs/static.files/rustdoc-fa3bb1812debf86c.css b/docs/static.files/rustdoc-fa3bb1812debf86c.css
new file mode 100644
index 0000000..2dd5ceb
--- /dev/null
+++ b/docs/static.files/rustdoc-fa3bb1812debf86c.css
@@ -0,0 +1,10 @@
+ :root{--nav-sub-mobile-padding:8px;--search-typename-width:6.75rem;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:400;src:local('Fira Sans'),url("FiraSans-Regular-018c141bf0843ffd.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Fira Sans';font-style:normal;font-weight:500;src:local('Fira Sans Medium'),url("FiraSans-Medium-8f9a781e4970d388.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:400;src:local('Source Serif 4'),url("SourceSerif4-Regular-46f98efaafac5295.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:italic;font-weight:400;src:local('Source Serif 4 Italic'),url("SourceSerif4-It-acdfaf1a8af734b1.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Serif 4';font-style:normal;font-weight:700;src:local('Source Serif 4 Bold'),url("SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:400;src:url("SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:italic;font-weight:400;src:url("SourceCodePro-It-1cc31594bf4f1f79.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'Source Code Pro';font-style:normal;font-weight:600;src:url("SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2") format("woff2");font-display:swap;}@font-face {font-family:'NanumBarunGothic';src:url("NanumBarunGothic-0f09457c7a19b7c6.ttf.woff2") format("woff2");font-display:swap;unicode-range:U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF;}*{box-sizing:border-box;}body{font:1rem/1.5 "Source Serif 4",NanumBarunGothic,serif;margin:0;position:relative;overflow-wrap:break-word;overflow-wrap:anywhere;font-feature-settings:"kern","liga";background-color:var(--main-background-color);color:var(--main-color);}h1{font-size:1.5rem;}h2{font-size:1.375rem;}h3{font-size:1.25rem;}h1,h2,h3,h4,h5,h6{font-weight:500;}h1,h2,h3,h4{margin:25px 0 15px 0;padding-bottom:6px;}.docblock h3,.docblock h4,h5,h6{margin:15px 0 5px 0;}.docblock>h2:first-child,.docblock>h3:first-child,.docblock>h4:first-child,.docblock>h5:first-child,.docblock>h6:first-child{margin-top:0;}.main-heading h1{margin:0;padding:0;flex-grow:1;overflow-wrap:break-word;overflow-wrap:anywhere;}.main-heading{display:flex;flex-wrap:wrap;padding-bottom:6px;margin-bottom:15px;}.content h2,.top-doc .docblock>h3,.top-doc .docblock>h4{border-bottom:1px solid var(--headings-border-bottom-color);}h1,h2{line-height:1.25;padding-top:3px;padding-bottom:9px;}h3.code-header{font-size:1.125rem;}h4.code-header{font-size:1rem;}.code-header{font-weight:600;margin:0;padding:0;white-space:pre-wrap;}#crate-search,h1,h2,h3,h4,h5,h6,.sidebar,.mobile-topbar,.search-input,.search-results .result-name,.item-name>a,.out-of-band,span.since,a.src,#help-button>a,summary.hideme,.scraped-example-list,ul.all-items{font-family:"Fira Sans",Arial,NanumBarunGothic,sans-serif;}#toggle-all-docs,a.anchor,.small-section-header a,#src-sidebar a,.rust a,.sidebar h2 a,.sidebar h3 a,.mobile-topbar h2 a,h1 a,.search-results a,.stab,.result-name i{color:var(--main-color);}span.enum,a.enum,span.struct,a.struct,span.union,a.union,span.primitive,a.primitive,span.type,a.type,span.foreigntype,a.foreigntype{color:var(--type-link-color);}span.trait,a.trait,span.traitalias,a.traitalias{color:var(--trait-link-color);}span.associatedtype,a.associatedtype,span.constant,a.constant,span.static,a.static{color:var(--assoc-item-link-color);}span.fn,a.fn,span.method,a.method,span.tymethod,a.tymethod{color:var(--function-link-color);}span.attr,a.attr,span.derive,a.derive,span.macro,a.macro{color:var(--macro-link-color);}span.mod,a.mod{color:var(--mod-link-color);}span.keyword,a.keyword{color:var(--keyword-link-color);}a{color:var(--link-color);text-decoration:none;}ol,ul{padding-left:24px;}ul ul,ol ul,ul ol,ol ol{margin-bottom:.625em;}p,.docblock>.warning{margin:0 0 .75em 0;}p:last-child,.docblock>.warning:last-child{margin:0;}button{padding:1px 6px;cursor:pointer;}button#toggle-all-docs{padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.rustdoc{display:flex;flex-direction:row;flex-wrap:nowrap;}main{position:relative;flex-grow:1;padding:10px 15px 40px 45px;min-width:0;}.src main{padding:15px;}.width-limiter{max-width:960px;margin-right:auto;}details:not(.toggle) summary{margin-bottom:.6em;}code,pre,a.test-arrow,.code-header{font-family:"Source Code Pro",monospace;}.docblock code,.docblock-short code{border-radius:3px;padding:0 0.125em;}.docblock pre code,.docblock-short pre code{padding:0;}pre{padding:14px;line-height:1.5;}pre.item-decl{overflow-x:auto;}.item-decl .type-contents-toggle{contain:initial;}.src .content pre{padding:20px;}.rustdoc.src .example-wrap pre.src-line-numbers{padding:20px 0 20px 4px;}img{max-width:100%;}.sub-logo-container,.logo-container{line-height:0;display:block;}.sub-logo-container{margin-right:32px;}.sub-logo-container>img{height:60px;width:60px;object-fit:contain;}.rust-logo{filter:var(--rust-logo-filter);}.sidebar{font-size:0.875rem;flex:0 0 200px;overflow-y:scroll;overscroll-behavior:contain;position:sticky;height:100vh;top:0;left:0;}.rustdoc.src .sidebar{flex-basis:50px;border-right:1px solid;overflow-x:hidden;overflow-y:hidden;z-index:1;}.sidebar,.mobile-topbar,.sidebar-menu-toggle,#src-sidebar-toggle,#src-sidebar{background-color:var(--sidebar-background-color);}#src-sidebar-toggle>button:hover,#src-sidebar-toggle>button:focus{background-color:var(--sidebar-background-color-hover);}.src .sidebar>*:not(#src-sidebar-toggle){visibility:hidden;}.src-sidebar-expanded .src .sidebar{overflow-y:auto;flex-basis:300px;}.src-sidebar-expanded .src .sidebar>*:not(#src-sidebar-toggle){visibility:visible;}#all-types{margin-top:1em;}*{scrollbar-width:initial;scrollbar-color:var(--scrollbar-color);}.sidebar{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color);}::-webkit-scrollbar{width:12px;}.sidebar::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{-webkit-box-shadow:inset 0;background-color:var(--scrollbar-track-background-color);}.sidebar::-webkit-scrollbar-track{background-color:var(--scrollbar-track-background-color);}::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb{background-color:var(--scrollbar-thumb-background-color);}.hidden{display:none !important;}.sidebar .logo-container{margin-top:10px;margin-bottom:10px;text-align:center;}.version{overflow-wrap:break-word;}.logo-container>img{height:100px;width:100px;}ul.block,.block li{padding:0;margin:0;list-style:none;}.sidebar-elems a,.sidebar>h2 a{display:block;padding:0.25rem;margin-left:-0.25rem;}.sidebar h2{overflow-wrap:anywhere;padding:0;margin:0.7rem 0;}.sidebar h3{font-size:1.125rem;padding:0;margin:0;}.sidebar-elems,.sidebar>h2{padding-left:24px;}.sidebar a{color:var(--sidebar-link-color);}.sidebar .current,.sidebar a:hover:not(.logo-container){background-color:var(--sidebar-current-link-background-color);}.sidebar-elems .block{margin-bottom:2em;}.sidebar-elems .block li a{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}.mobile-topbar{display:none;}.rustdoc .example-wrap{display:flex;position:relative;margin-bottom:10px;}.rustdoc .example-wrap:last-child{margin-bottom:0px;}.rustdoc .example-wrap pre{margin:0;flex-grow:1;}.rustdoc:not(.src) .example-wrap pre{overflow:auto hidden;}.rustdoc .example-wrap pre.example-line-numbers,.rustdoc .example-wrap pre.src-line-numbers{flex-grow:0;min-width:fit-content;overflow:initial;text-align:right;-webkit-user-select:none;user-select:none;padding:14px 8px;color:var(--src-line-numbers-span-color);}.rustdoc .example-wrap pre.src-line-numbers{padding:14px 0;}.src-line-numbers a,.src-line-numbers span{color:var(--src-line-numbers-span-color);padding:0 8px;}.src-line-numbers :target{background-color:transparent;border-right:none;padding:0 8px;}.src-line-numbers .line-highlighted{background-color:var(--src-line-number-highlighted-background-color);}.search-loading{text-align:center;}.docblock-short{overflow-wrap:break-word;overflow-wrap:anywhere;}.docblock :not(pre)>code,.docblock-short code{white-space:pre-wrap;}.top-doc .docblock h2{font-size:1.375rem;}.top-doc .docblock h3{font-size:1.25rem;}.top-doc .docblock h4,.top-doc .docblock h5{font-size:1.125rem;}.top-doc .docblock h6{font-size:1rem;}.docblock h5{font-size:1rem;}.docblock h6{font-size:0.875rem;}.docblock{margin-left:24px;position:relative;}.docblock>:not(.more-examples-toggle):not(.example-wrap){max-width:100%;overflow-x:auto;}.out-of-band{flex-grow:0;font-size:1.125rem;}.docblock code,.docblock-short code,pre,.rustdoc.src .example-wrap{background-color:var(--code-block-background-color);}#main-content{position:relative;}.docblock table{margin:.5em 0;border-collapse:collapse;}.docblock table td,.docblock table th{padding:.5em;border:1px solid var(--border-color);}.docblock table tbody tr:nth-child(2n){background:var(--table-alt-row-background-color);}.method .where,.fn .where,.where.fmt-newline{display:block;white-space:pre-wrap;font-size:0.875rem;}.item-info{display:block;margin-left:24px;}.item-info code{font-size:0.875rem;}#main-content>.item-info{margin-left:0;}nav.sub{flex-grow:1;flex-flow:row nowrap;margin:4px 0 25px 0;display:flex;align-items:center;}.search-form{position:relative;display:flex;height:34px;flex-grow:1;}.src nav.sub{margin:0 0 15px 0;}.small-section-header{display:block;position:relative;}.small-section-header:hover>.anchor,.impl:hover>.anchor,.trait-impl:hover>.anchor,.variant:hover>.anchor{display:initial;}.anchor{display:none;position:absolute;left:-0.5em;background:none !important;}.anchor.field{left:-5px;}.small-section-header>.anchor{left:-15px;padding-right:8px;}h2.small-section-header>.anchor{padding-right:6px;}.main-heading a:hover,.example-wrap .rust a:hover,.all-items a:hover,.docblock a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.docblock-short a:not(.test-arrow):not(.scrape-help):not(.tooltip):hover,.item-info a{text-decoration:underline;}.crate.block a.current{font-weight:500;}table,.item-table{overflow-wrap:break-word;}.item-table{display:table;padding:0;margin:0;}.item-table>li{display:table-row;}.item-table>li>div{display:table-cell;}.item-table>li>.item-name{padding-right:1.25rem;}.search-results-title{margin-top:0;white-space:nowrap;display:flex;align-items:baseline;}#crate-search-div{position:relative;min-width:5em;}#crate-search{min-width:115px;padding:0 23px 0 4px;max-width:100%;text-overflow:ellipsis;border:1px solid var(--border-color);border-radius:4px;outline:none;cursor:pointer;-moz-appearance:none;-webkit-appearance:none;text-indent:0.01px;background-color:var(--main-background-color);color:inherit;line-height:1.5;font-weight:500;}#crate-search:hover,#crate-search:focus{border-color:var(--crate-search-hover-border);}#crate-search-div::after{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;content:"";background-repeat:no-repeat;background-size:20px;background-position:calc(100% - 2px) 56%;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" \
+	width="128" height="128" viewBox="-30 -20 176 176"><path d="M111,40.5L64,87.499L17,40.5" \
+	fill="none" stroke="black" strike-linecap="square" stroke-miterlimit="10" stroke-width="12"/> \
+	</svg>');filter:var(--crate-search-div-filter);}#crate-search-div:hover::after,#crate-search-div:focus-within::after{filter:var(--crate-search-div-hover-filter);}#crate-search>option{font-size:1rem;}.search-input{-webkit-appearance:none;outline:none;border:1px solid var(--border-color);border-radius:2px;padding:8px;font-size:1rem;flex-grow:1;background-color:var(--button-background-color);color:var(--search-color);}.search-input:focus{border-color:var(--search-input-focused-border-color);}.search-results{display:none;}.search-results.active{display:block;}.search-results>a{display:flex;margin-left:2px;margin-right:2px;border-bottom:1px solid var(--search-result-border-color);gap:1em;}.search-results>a>div.desc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex:2;}.search-results a:hover,.search-results a:focus{background-color:var(--search-result-link-focus-background-color);}.search-results .result-name{display:flex;align-items:center;justify-content:start;flex:3;}.search-results .result-name .alias{color:var(--search-results-alias-color);}.search-results .result-name .grey{color:var(--search-results-grey-color);}.search-results .result-name .typename{color:var(--search-results-grey-color);font-size:0.875rem;width:var(--search-typename-width);}.search-results .result-name .path{word-break:break-all;max-width:calc(100% - var(--search-typename-width));display:inline-block;}.search-results .result-name .path>*{display:inline;}.popover{position:absolute;top:100%;right:0;z-index:2;margin-top:7px;border-radius:3px;border:1px solid var(--border-color);background-color:var(--main-background-color);color:var(--main-color);--popover-arrow-offset:11px;}.popover::before{content:'';position:absolute;right:var(--popover-arrow-offset);border:solid var(--border-color);border-width:1px 1px 0 0;background-color:var(--main-background-color);padding:4px;transform:rotate(-45deg);top:-5px;}.setting-line{margin:1.2em 0.6em;}.setting-radio input,.setting-check input{margin-right:0.3em;height:1.2rem;width:1.2rem;border:2px solid var(--settings-input-border-color);outline:none;-webkit-appearance:none;cursor:pointer;}.setting-radio input{border-radius:50%;}.setting-radio span,.setting-check span{padding-bottom:1px;}.setting-radio{margin-top:0.1em;margin-bottom:0.1em;min-width:3.8em;padding:0.3em;display:inline-flex;align-items:center;cursor:pointer;}.setting-radio+.setting-radio{margin-left:0.5em;}.setting-check{margin-right:20px;display:flex;align-items:center;cursor:pointer;}.setting-radio input:checked{box-shadow:inset 0 0 0 3px var(--main-background-color);background-color:var(--settings-input-color);}.setting-check input:checked{background-color:var(--settings-input-color);border-width:1px;content:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">\
+		<path d="M7,25L17,32L33,12" fill="none" stroke="black" stroke-width="5"/>\
+		<path d="M7,23L17,30L33,10" fill="none" stroke="white" stroke-width="5"/></svg>');}.setting-radio input:focus,.setting-check input:focus{box-shadow:0 0 1px 1px var(--settings-input-color);}.setting-radio input:checked:focus{box-shadow:inset 0 0 0 3px var(--main-background-color),0 0 2px 2px var(--settings-input-color);}.setting-radio input:hover,.setting-check input:hover{border-color:var(--settings-input-color) !important;}#help.popover{max-width:600px;--popover-arrow-offset:48px;}#help dt{float:left;clear:left;margin-right:0.5rem;}#help span.top,#help span.bottom{text-align:center;display:block;font-size:1.125rem;}#help span.top{margin:10px 0;border-bottom:1px solid var(--border-color);padding-bottom:4px;margin-bottom:6px;}#help span.bottom{clear:both;border-top:1px solid var(--border-color);}.side-by-side>div{width:50%;float:left;padding:0 20px 20px 17px;}.item-info .stab{min-height:36px;display:flex;padding:3px;margin-bottom:5px;align-items:center;vertical-align:text-bottom;}.item-name .stab{margin-left:0.3125em;}.stab{padding:0 2px;font-size:0.875rem;font-weight:normal;color:var(--main-color);background-color:var(--stab-background-color);width:fit-content;white-space:pre-wrap;border-radius:3px;display:inline;}.stab.portability>code{background:none;color:var(--stab-code-color);}.stab .emoji{font-size:1.25rem;margin-right:0.3rem;}.emoji{text-shadow:1px 0 0 black,-1px 0 0 black,0 1px 0 black,0 -1px 0 black;}.since{font-weight:normal;font-size:initial;}.rightside{padding-left:12px;float:right;}.rightside:not(a),.out-of-band{color:var(--right-side-color);}pre.rust{tab-size:4;-moz-tab-size:4;}pre.rust .kw{color:var(--code-highlight-kw-color);}pre.rust .kw-2{color:var(--code-highlight-kw-2-color);}pre.rust .lifetime{color:var(--code-highlight-lifetime-color);}pre.rust .prelude-ty{color:var(--code-highlight-prelude-color);}pre.rust .prelude-val{color:var(--code-highlight-prelude-val-color);}pre.rust .string{color:var(--code-highlight-string-color);}pre.rust .number{color:var(--code-highlight-number-color);}pre.rust .bool-val{color:var(--code-highlight-literal-color);}pre.rust .self{color:var(--code-highlight-self-color);}pre.rust .attr{color:var(--code-highlight-attribute-color);}pre.rust .macro,pre.rust .macro-nonterminal{color:var(--code-highlight-macro-color);}pre.rust .question-mark{font-weight:bold;color:var(--code-highlight-question-mark-color);}pre.rust .comment{color:var(--code-highlight-comment-color);}pre.rust .doccomment{color:var(--code-highlight-doc-comment-color);}.rustdoc.src .example-wrap pre.rust a{background:var(--codeblock-link-background);}.example-wrap.compile_fail,.example-wrap.should_panic{border-left:2px solid var(--codeblock-error-color);}.ignore.example-wrap{border-left:2px solid var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover,.example-wrap.should_panic:hover{border-left:2px solid var(--codeblock-error-hover-color);}.example-wrap.ignore:hover{border-left:2px solid var(--codeblock-ignore-hover-color);}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip{color:var(--codeblock-error-color);}.example-wrap.ignore .tooltip{color:var(--codeblock-ignore-color);}.example-wrap.compile_fail:hover .tooltip,.example-wrap.should_panic:hover .tooltip{color:var(--codeblock-error-hover-color);}.example-wrap.ignore:hover .tooltip{color:var(--codeblock-ignore-hover-color);}.example-wrap .tooltip{position:absolute;display:block;left:-25px;top:5px;margin:0;line-height:1;}.example-wrap.compile_fail .tooltip,.example-wrap.should_panic .tooltip,.example-wrap.ignore .tooltip{font-weight:bold;font-size:1.25rem;}.content .docblock .warning{border-left:2px solid var(--warning-border-color);padding:14px;position:relative;overflow-x:visible !important;}.content .docblock .warning::before{color:var(--warning-border-color);content:"ⓘ";position:absolute;left:-25px;top:5px;font-weight:bold;font-size:1.25rem;}a.test-arrow{visibility:hidden;position:absolute;padding:5px 10px 5px 10px;border-radius:5px;font-size:1.375rem;top:5px;right:5px;z-index:1;color:var(--test-arrow-color);background-color:var(--test-arrow-background-color);}a.test-arrow:hover{color:var(--test-arrow-hover-color);background-color:var(--test-arrow-hover-background-color);}.example-wrap:hover .test-arrow{visibility:visible;}.code-attribute{font-weight:300;color:var(--code-attribute-color);}.item-spacer{width:100%;height:12px;display:block;}.out-of-band>span.since{font-size:1.25rem;}.sub-variant h4{font-size:1rem;font-weight:400;margin-top:0;margin-bottom:0;}.sub-variant{margin-left:24px;margin-bottom:40px;}.sub-variant>.sub-variant-field{margin-left:24px;}:target{padding-right:3px;background-color:var(--target-background-color);border-right:3px solid var(--target-border-color);}.code-header a.tooltip{color:inherit;margin-right:15px;position:relative;}.code-header a.tooltip:hover{color:var(--link-color);}a.tooltip:hover::after{position:absolute;top:calc(100% - 10px);left:-15px;right:-15px;height:20px;content:"\00a0";}.fade-out{opacity:0;transition:opacity 0.45s cubic-bezier(0,0,0.1,1.0);}.popover.tooltip .content{margin:0.25em 0.5em;}.popover.tooltip .content pre,.popover.tooltip .content code{background:transparent;margin:0;padding:0;font-size:1.25rem;white-space:pre-wrap;}.popover.tooltip .content>h3:first-child{margin:0 0 5px 0;}.search-failed{text-align:center;margin-top:20px;display:none;}.search-failed.active{display:block;}.search-failed>ul{text-align:left;max-width:570px;margin-left:auto;margin-right:auto;}#search-tabs{display:flex;flex-direction:row;gap:1px;margin-bottom:4px;}#search-tabs button{text-align:center;font-size:1.125rem;border:0;border-top:2px solid;flex:1;line-height:1.5;color:inherit;}#search-tabs button:not(.selected){background-color:var(--search-tab-button-not-selected-background);border-top-color:var(--search-tab-button-not-selected-border-top-color);}#search-tabs button:hover,#search-tabs button.selected{background-color:var(--search-tab-button-selected-background);border-top-color:var(--search-tab-button-selected-border-top-color);}#search-tabs .count{font-size:1rem;font-variant-numeric:tabular-nums;color:var(--search-tab-title-count-color);}#search .error code{border-radius:3px;background-color:var(--search-error-code-background-color);}.search-corrections{font-weight:normal;}#src-sidebar-toggle{position:sticky;top:0;left:0;font-size:1.25rem;border-bottom:1px solid;display:flex;height:40px;justify-content:stretch;align-items:stretch;z-index:10;}#src-sidebar{width:100%;overflow:auto;}#src-sidebar>.title{font-size:1.5rem;text-align:center;border-bottom:1px solid var(--border-color);margin-bottom:6px;}#src-sidebar div.files>a:hover,details.dir-entry summary:hover,#src-sidebar div.files>a:focus,details.dir-entry summary:focus{background-color:var(--src-sidebar-background-hover);}#src-sidebar div.files>a.selected{background-color:var(--src-sidebar-background-selected);}#src-sidebar-toggle>button{font-size:inherit;font-weight:bold;background:none;color:inherit;text-align:center;border:none;outline:none;flex:1 1;-webkit-appearance:none;opacity:1;}#settings-menu,#help-button{margin-left:4px;display:flex;}#settings-menu>a,#help-button>a{display:flex;align-items:center;justify-content:center;background-color:var(--button-background-color);border:1px solid var(--border-color);border-radius:2px;color:var(--settings-button-color);font-size:20px;width:33px;}#settings-menu>a:hover,#settings-menu>a:focus,#help-button>a:hover,#help-button>a:focus{border-color:var(--settings-button-border-focus);}#copy-path{color:var(--copy-path-button-color);background:var(--main-background-color);height:34px;margin-left:10px;padding:0;padding-left:2px;border:0;width:33px;}#copy-path>img{filter:var(--copy-path-img-filter);}#copy-path:hover>img{filter:var(--copy-path-img-hover-filter);}@keyframes rotating{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}#settings-menu.rotate>a img{animation:rotating 2s linear infinite;}kbd{display:inline-block;padding:3px 5px;font:15px monospace;line-height:10px;vertical-align:middle;border:solid 1px var(--border-color);border-radius:3px;color:var(--kbd-color);background-color:var(--kbd-background);box-shadow:inset 0 -1px 0 var(--kbd-box-shadow-color);}ul.all-items>li{list-style:none;}details.dir-entry{padding-left:4px;}details.dir-entry>summary{margin:0 0 0 -4px;padding:0 0 0 4px;cursor:pointer;}details.dir-entry div.folders,details.dir-entry div.files{padding-left:23px;}details.dir-entry a{display:block;}details.toggle{contain:layout;position:relative;}details.toggle>summary.hideme{cursor:pointer;font-size:1rem;}details.toggle>summary{list-style:none;outline:none;}details.toggle>summary::-webkit-details-marker,details.toggle>summary::marker{display:none;}details.toggle>summary.hideme>span{margin-left:9px;}details.toggle>summary::before{background:url('data:image/svg+xml,<svg width="17" height="17" \
+shape-rendering="crispEdges" stroke="black" fill="none" xmlns="http://www.w3.org/2000/svg"><path \
+d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7M8.5 12V8.625v0V5"/></svg>') no-repeat top left;content:"";cursor:pointer;width:16px;height:16px;display:inline-block;vertical-align:middle;opacity:.5;filter:var(--toggle-filter);}details.toggle>summary.hideme>span,.more-examples-toggle summary,.more-examples-toggle .hide-more{color:var(--toggles-color);}details.toggle>summary::after{content:"Expand";overflow:hidden;width:0;height:0;position:absolute;}details.toggle>summary.hideme::after{content:"";}details.toggle>summary:focus::before,details.toggle>summary:hover::before{opacity:1;}details.toggle>summary:focus-visible::before{outline:1px dotted #000;outline-offset:1px;}details.non-exhaustive{margin-bottom:8px;}details.toggle>summary.hideme::before{position:relative;}details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;top:4px;}.impl-items>details.toggle>summary:not(.hideme)::before{position:absolute;left:-24px;}details.toggle[open] >summary.hideme{position:absolute;}details.toggle[open] >summary.hideme>span{display:none;}details.toggle[open] >summary::before{background:url('data:image/svg+xml,<svg width="17" height="17" \
+shape-rendering="crispEdges" stroke="black" fill="none" xmlns="http://www.w3.org/2000/svg"><path \
+d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7"/></svg>') no-repeat top left;}details.toggle[open] >summary::after{content:"Collapse";}.docblock summary>*{display:inline-block;}.docblock>.example-wrap:first-child .tooltip{margin-top:16px;}@media (max-width:850px){#search-tabs .count{display:block;}}@media (max-width:700px){*[id]{scroll-margin-top:45px;}.rustdoc{display:block;}main{padding-left:15px;padding-top:0px;}.main-heading{flex-direction:column;}.out-of-band{text-align:left;margin-left:initial;padding:initial;}.out-of-band .since::before{content:"Since ";}.sidebar .logo-container,.sidebar .location{display:none;}.sidebar{position:fixed;top:45px;left:-1000px;z-index:11;height:calc(100vh - 45px);width:200px;}.src main,.rustdoc.src .sidebar{top:0;padding:0;height:100vh;border:0;}.sidebar.shown,.src-sidebar-expanded .src .sidebar,.rustdoc:not(.src) .sidebar:focus-within{left:0;}.mobile-topbar h2{padding-bottom:0;margin:auto 0.5em auto auto;overflow:hidden;font-size:24px;}.mobile-topbar h2 a{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;}.mobile-topbar .logo-container>img{max-width:35px;max-height:35px;margin:5px 0 5px 20px;}.mobile-topbar{display:flex;flex-direction:row;position:sticky;z-index:10;font-size:2rem;height:45px;width:100%;left:0;top:0;}.sidebar-menu-toggle{width:45px;font-size:32px;border:none;color:var(--main-color);}.sidebar-elems{margin-top:1em;}.anchor{display:none !important;}#main-content>details.toggle>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}#src-sidebar-toggle{position:fixed;left:1px;top:100px;width:30px;font-size:1.5rem;padding:0;z-index:10;border-top-right-radius:3px;border-bottom-right-radius:3px;border:1px solid;border-left:0;}.src-sidebar-expanded #src-sidebar-toggle{left:unset;top:unset;width:unset;border-top-right-radius:unset;border-bottom-right-radius:unset;position:sticky;border:0;border-bottom:1px solid;}#copy-path,#help-button{display:none;}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{max-width:100vw;width:100vw;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}.sub-logo-container>img{height:35px;width:35px;margin-bottom:var(--nav-sub-mobile-padding);}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"]{--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a,:root[data-theme="ayu"] #source-sidebar>.title{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img{filter:invert(100);}
\ No newline at end of file
diff --git a/docs/static.files/scrape-examples-ef1e698c1d417c0c.js b/docs/static.files/scrape-examples-ef1e698c1d417c0c.js
new file mode 100644
index 0000000..ba830e3
--- /dev/null
+++ b/docs/static.files/scrape-examples-ef1e698c1d417c0c.js
@@ -0,0 +1 @@
+"use strict";(function(){const DEFAULT_MAX_LINES=5;const HIDDEN_MAX_LINES=10;function scrollToLoc(elt,loc,isHidden){const lines=elt.querySelector(".src-line-numbers");let scrollOffset;const maxLines=isHidden?HIDDEN_MAX_LINES:DEFAULT_MAX_LINES;if(loc[1]-loc[0]>maxLines){const line=Math.max(0,loc[0]-1);scrollOffset=lines.children[line].offsetTop}else{const wrapper=elt.querySelector(".code-wrapper");const halfHeight=wrapper.offsetHeight/2;const offsetTop=lines.children[loc[0]].offsetTop;const lastLine=lines.children[loc[1]];const offsetBot=lastLine.offsetTop+lastLine.offsetHeight;const offsetMid=(offsetTop+offsetBot)/2;scrollOffset=offsetMid-halfHeight}lines.scrollTo(0,scrollOffset);elt.querySelector(".rust").scrollTo(0,scrollOffset)}function updateScrapedExample(example,isHidden){const locs=JSON.parse(example.attributes.getNamedItem("data-locs").textContent);let locIndex=0;const highlights=Array.prototype.slice.call(example.querySelectorAll(".highlight"));const link=example.querySelector(".scraped-example-title a");if(locs.length>1){const onChangeLoc=changeIndex=>{removeClass(highlights[locIndex],"focus");changeIndex();scrollToLoc(example,locs[locIndex][0],isHidden);addClass(highlights[locIndex],"focus");const url=locs[locIndex][1];const title=locs[locIndex][2];link.href=url;link.innerHTML=title};example.querySelector(".prev").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex-1+locs.length)%locs.length})});example.querySelector(".next").addEventListener("click",()=>{onChangeLoc(()=>{locIndex=(locIndex+1)%locs.length})})}const expandButton=example.querySelector(".expand");if(expandButton){expandButton.addEventListener("click",()=>{if(hasClass(example,"expanded")){removeClass(example,"expanded");scrollToLoc(example,locs[0][0],isHidden)}else{addClass(example,"expanded")}})}scrollToLoc(example,locs[0][0],isHidden)}const firstExamples=document.querySelectorAll(".scraped-example-list > .scraped-example");onEachLazy(firstExamples,el=>updateScrapedExample(el,false));onEachLazy(document.querySelectorAll(".more-examples-toggle"),toggle=>{onEachLazy(toggle.querySelectorAll(".toggle-line, .hide-more"),button=>{button.addEventListener("click",()=>{toggle.open=false})});const moreExamples=toggle.querySelectorAll(".scraped-example");toggle.querySelector("summary").addEventListener("click",()=>{setTimeout(()=>{onEachLazy(moreExamples,el=>updateScrapedExample(el,true))})},{once:true})})})()
\ No newline at end of file
diff --git a/docs/static.files/search-8be46b629f5f14a8.js b/docs/static.files/search-8be46b629f5f14a8.js
new file mode 100644
index 0000000..4ecf5c5
--- /dev/null
+++ b/docs/static.files/search-8be46b629f5f14a8.js
@@ -0,0 +1,5 @@
+"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","primitive","associatedtype","constant","associatedconstant","union","foreigntype","keyword","existential","attr","derive","traitalias","generic",];const longItemTypes=["module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","primitive type","assoc type","constant","assoc const","union","foreign type","keyword","existential type","attribute macro","derive macro","trait alias",];const TY_PRIMITIVE=itemTypes.indexOf("primitive");const TY_KEYWORD=itemTypes.indexOf("keyword");const TY_GENERIC=itemTypes.indexOf("generic");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";function hasOwnPropertyRustdoc(obj,property){return Object.prototype.hasOwnProperty.call(obj,property)}function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.length<b.length){const aTmp=a;a=b;b=aTmp}const minDist=a.length-b.length;if(minDist>limit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let currentResults;let typeNameIdMap;const ALIASES=new Map();let typeNameIdOfArray;let typeNameIdOfSlice;let typeNameIdOfArrayOrSlice;function buildTypeMapIndex(name){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){return typeNameIdMap.get(name)}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,id);return id}}function isWhitespace(c){return" \t\n\r".indexOf(c)!==-1}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return",>-]".indexOf(c)!==-1}function isStopCharacter(c){return isEndCharacter(c)}function isErrorCharacter(c){return"()".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","}function isPathSeparator(c){return c===":"||isWhitespace(c)}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(!isWhitespace(c)){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos<parserState.userQuery.length){const c=parserState.userQuery[parserState.pos];if(!isWhitespace(c)){break}parserState.pos+=1}}function createQueryElement(query,parserState,name,generics,isInGenerics){const path=name.trim();if(path.length===0&&generics.length===0){throw["Unexpected ",parserState.userQuery[parserState.pos]]}else if(path==="*"){throw["Unexpected ","*"]}if(query.literalSearch&&parserState.totalElems-parserState.genericsElems>0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}return{name:"never",id:null,fullPath:["never"],pathWithoutLast:[],pathLast:"never",generics:[],typeFilter:"primitive",}}if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(path.includes("::::")){throw["Unexpected ","::::"]}else if(path.includes(" ::")){throw["Unexpected "," ::"]}else if(path.includes(":: ")){throw["Unexpected ",":: "]}const pathSegments=path.split(/::|\s+/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast:pathSegments[pathSegments.length-1],generics:generics,typeFilter,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(!isIdentCharacter(c)){if(c==="!"){if(foundExclamation!==-1){throw["Cannot have more than one ","!"," in an ident"]}else if(parserState.pos+1<parserState.length&&isIdentCharacter(parserState.userQuery[parserState.pos+1])){throw["Unexpected ","!",": it can only be at the end of an ident"]}foundExclamation=parserState.pos}else if(isErrorCharacter(c)){throw["Unexpected ",c]}else if(isPathSeparator(c)){if(c===":"){if(!isPathStart(parserState)){break}parserState.pos+=1}else{while(parserState.pos+1<parserState.length){const next_c=parserState.userQuery[parserState.pos+1];if(!isWhitespace(next_c)){break}parserState.pos+=1}}if(foundExclamation!==-1){if(foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){throw["Cannot have associated items in macros"]}else{foundExclamation=-1}}}else if(c==="["||isStopCharacter(c)||isSpecialStartCharacter(c)||isSeparatorCharacter(c)){break}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if(parserState.userQuery[parserState.pos]==="["){parserState.pos+=1;getItemsBefore(query,parserState,generics,"]");const typeFilter=parserState.typeFilter;if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ","[]"," and ",typeFilter," both specified",]}parserState.typeFilter=null;parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push({name:"[]",id:null,fullPath:["[]"],pathWithoutLast:[],pathLast:"[]",generics,typeFilter:"primitive",})}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos<parserState.length&&parserState.userQuery[parserState.pos]==="<"){if(start>=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics))}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let start=parserState.pos;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(c===endChar){break}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(c===":"){if(parserState.typeFilter!==null){throw["Unexpected ",":"]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",","," or ",endChar,...extra,", found ",c,]}throw["Expected ",",",...extra,", found ",c,]}const posBefore=parserState.pos;start=parserState.pos;getNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;parserState.typeFilter=oldTypeFilter}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;let start=parserState.pos;while(parserState.pos<parserState.length){const c=parserState.userQuery[parserState.pos];if(isStopCharacter(c)){foundStopChar=true;if(isSeparatorCharacter(c)){parserState.pos+=1;continue}else if(c==="-"||c===">"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}throw["Unexpected ",c]}else if(c===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}else if(query.elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=query.elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;foundStopChar=true;continue}else if(isWhitespace(c)){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;start=parserState.pos;getNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos<parserState.length){if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getItemsBefore(query,parserState,query.returned,"");if(query.returned.length===0){throw["Expected at least one item after ","->"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&hasOwnPropertyRustdoc(rawSearchIndex,elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}}userQuery=userQuery.trim();const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}function execQuery(parsedQuery,searchWords,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=obj.displayPath+obj.name;obj.fullPath+="|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}duplicates.add(obj.fullPath);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}function sortResults(results,isType,preferredCrate){if(results.size===0){return[]}const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.word=searchWords[result.id];result.item=searchIndex[result.id]||{};result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=aaa.item.deprecated;b=bbb.item.deprecated;if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}if((aaa.item.ty===TY_PRIMITIVE&&bbb.item.ty!==TY_KEYWORD)||(aaa.item.ty===TY_KEYWORD&&bbb.item.ty!==TY_PRIMITIVE)){return-1}if((bbb.item.ty===TY_PRIMITIVE&&aaa.item.ty!==TY_PRIMITIVE)||(bbb.item.ty===TY_KEYWORD&&aaa.item.ty!==TY_KEYWORD)){return 1}a=(aaa.item.desc==="");b=(bbb.item.desc==="");if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});let nameSplit=null;if(parsedQuery.elems.length===1){const hasPath=typeof parsedQuery.elems[0].path==="undefined";nameSplit=hasPath?null:parsedQuery.elems[0].path}for(const result of result_list){if(result.dontValidate){continue}const name=result.item.name.toLowerCase(),path=result.item.path.toLowerCase(),parent=result.item.parent;if(!isType&&!validateResult(name,path,nameSplit,parent)){result.id=-1}}return transformResults(result_list)}function checkGenerics(fnType,queryElem,whereClause,mgensInout){return unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgensInout,mgens=>{if(mgensInout){for(const[fid,qid]of mgens.entries()){mgensInout.set(fid,qid)}}return true})}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb){let mgens=new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;let fl=fnTypesIn.length;let fnTypes=fnTypesIn.slice();const backtracking=[];let i=0;let j=0;const backtrack=()=>{while(backtracking.length!==0){const{fnTypesScratch,mgensScratch,queryElemsOffset,fnTypesOffset,unbox,}=backtracking.pop();mgens=new Map(mgensScratch);const fnType=fnTypesScratch[fnTypesOffset];const queryElem=queryElems[queryElemsOffset];if(unbox){if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}mgens.set(fnType.id,0)}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;fnTypes=fnTypesScratch.toSpliced(fnTypesOffset,1,...generics);fl=fnTypes.length;i=queryElemsOffset-1}else{if(fnType.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}mgens.set(fnType.id,queryElem.id)}fnTypes=fnTypesScratch.slice();fl=fnTypes.length;const tmp=fnTypes[queryElemsOffset];fnTypes[queryElemsOffset]=fnTypes[fnTypesOffset];fnTypes[fnTypesOffset]=tmp;i=queryElemsOffset}return true}return false};for(i=0;i!==ql;++i){const queryElem=queryElems[i];const matchCandidates=[];let fnTypesScratch=null;let mgensScratch=null;for(j=i;j!==fl;++j){const fnType=fnTypes[j];if(unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}unifyFunctionTypes(fnType.generics,queryElem.generics,whereClause,mgens,mgensScratch=>{matchCandidates.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:false,});return false})}if(unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens)){if(!fnTypesScratch){fnTypesScratch=fnTypes.slice()}if(!mgensScratch){mgensScratch=new Map(mgens)}backtracking.push({fnTypesScratch,mgensScratch,queryElemsOffset:i,fnTypesOffset:j,unbox:true,})}}if(matchCandidates.length===0){if(backtrack()){continue}else{return false}}const{fnTypesOffset:candidate,mgensScratch:mgensNew}=matchCandidates.pop();if(fnTypes[candidate].id<0&&queryElems[i].id<0){mgens.set(fnTypes[candidate].id,queryElems[i].id)}for(const[fid,qid]of mgensNew){mgens.set(fid,qid)}const tmp=fnTypes[candidate];fnTypes[candidate]=fnTypes[i];fnTypes[i]=tmp;for(const otherCandidate of matchCandidates){backtracking.push(otherCandidate)}while(i===(ql-1)&&solutionCb&&!solutionCb(mgens)){if(!backtrack()){return false}}}return true}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,whereClause,mgens){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgens.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}else if(fnType.id!==null){if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(fnType.id!==queryElem.id){return false}if(fnType.generics.length===0&&queryElem.generics.length!==0){return false}const queryElemPathLength=queryElem.pathWithoutLast.length;if(queryElemPathLength>0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i<queryElemPathLength){return false}}}return true}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens){if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause)}else if(fnType.generics&&fnType.generics.length>0){return checkIfInList(fnType.generics,queryElem,whereClause)}return false}function checkIfInList(list,elem,whereClause){for(const entry of list){if(checkType(entry,elem,whereClause)){return true}}return false}function checkType(row,elem,whereClause){if(row.id===null){return row.generics.length>0?checkIfInList(row.generics,elem,whereClause):false}if(row.id<0&&elem.id>=0){const gid=(-row.id)-1;return checkIfInList(whereClause[gid],elem,whereClause)}if(row.id<0&&elem.id<0){return true}const matchesExact=row.id===elem.id;const matchesArrayOrSlice=elem.id===typeNameIdOfArrayOrSlice&&(row.id===typeNameIdOfSlice||row.id===typeNameIdOfArray);if((matchesExact||matchesArrayOrSlice)&&typePassesFilter(elem.typeFilter,row.ty)){if(elem.generics.length>0){return checkGenerics(row,elem,whereClause,new Map())}return true}return checkIfInList(row.generics,elem,whereClause)}function checkPath(contains,ty,maxEditDistance){if(contains.length===0){return 0}let ret_dist=maxEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;if(clength>length){return maxEditDistance+1}for(let i=0;i<length;++i){if(i+clength>length){break}let dist_total=0;let aborted=false;for(let x=0;x<clength;++x){const dist=editDistance(path[i+x],contains[x],maxEditDistance);if(dist>maxEditDistance){aborted=true;break}dist_total+=dist}if(!aborted){ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}}return ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,desc:item.desc,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,deprecated:item.deprecated,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path<bbb.path){return 1}else if(aaa.path===bbb.path){return 0}return-1};crateAliases.sort(sortFunc);aliases.sort(sortFunc);const pushFunc=alias=>{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){const inBounds=dist<=maxEditDistance||index!==-1;if(dist===0||(!parsedQuery.literalSearch&&inBounds)){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let index=-1,path_dist=0;const fullId=row.id;const searchWord=searchWords[pos];const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause);if(in_args){addIntoResults(results_in_args,fullId,pos,-1,0,0,maxEditDistance)}const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause);if(returned){addIntoResults(results_returned,fullId,pos,-1,0,0,maxEditDistance)}if(!typePassesFilter(elem.typeFilter,row.ty)){return}const row_index=row.normalizedName.indexOf(elem.pathLast);const word_index=searchWord.indexOf(elem.pathLast);if(row_index===-1){index=word_index}else if(word_index===-1){index=row_index}else if(word_index<row_index){index=word_index}else{index=row_index}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row,maxEditDistance);if(path_dist>maxEditDistance){return}}if(parsedQuery.literalSearch){if(searchWord===elem.name){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(searchWord,elem.pathLast,maxEditDistance);if(index===-1&&dist+path_dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens)})){return}addIntoResults(results,row.id,pos,0,0,0,Number.MAX_VALUE)}function innerRunQuery(){let elem,i,nSearchWords,in_returned,row;let queryLen=0;for(const elem of parsedQuery.elems){queryLen+=elem.name.length}for(const elem of parsedQuery.returned){queryLen+=elem.name.length}const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem){if(typeNameIdMap.has(elem.pathLast)){elem.id=typeNameIdMap.get(elem.pathLast)}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,id]of typeNameIdMap){const dist=editDistance(name,elem.pathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}}for(const elem of parsedQuery.elems){convertNameToId(elem)}for(const elem of parsedQuery.returned){convertNameToId(elem)}if(parsedQuery.foundElems===1){if(parsedQuery.elems.length===1){elem=parsedQuery.elems[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleSingleArg(searchIndex[i],i,elem,results_others,results_in_args,results_returned,maxEditDistance)}}else if(parsedQuery.returned.length===1){elem=parsedQuery.returned[0];for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){row=searchIndex[i];in_returned=row.type&&unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause);if(in_returned){addIntoResults(results_others,row.id,i,-1,0,Number.MAX_VALUE)}}}}else if(parsedQuery.foundElems>0){for(i=0,nSearchWords=searchWords.length;i<nSearchWords;++i){handleArgs(searchIndex[i],i,results_others)}}}if(parsedQuery.error===null){innerRunQuery()}const ret=createQueryResults(sortResults(results_in_args,true,currentCrate),sortResults(results_returned,true,currentCrate),sortResults(results_others,false,currentCrate),parsedQuery);handleAliases(ret,parsedQuery.original.replace(/"/g,""),filterCrates,currentCrate);if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function validateResult(name,path,keys,parent,maxEditDistance){if(!keys||!keys.length){return true}for(const key of keys){if(!(name.indexOf(key)>-1||path.indexOf(key)>-1||(parent!==undefined&&parent.name!==undefined&&parent.name.toLowerCase().indexOf(key)>-1)||editDistance(name,key,maxEditDistance)<=maxEditDistance)){return false}}return true}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor="#"+type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="#variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href]}function pathSplitter(path){const tmp="<span>"+path.replace(/::/g,"::</span><span>");if(tmp.endsWith("<span>")){return tmp.slice(0,tmp.length-6)}return tmp}function addTab(array,query,display){let extraClass="";if(display===true){extraClass=" active"}const output=document.createElement("div");let length=0;if(array.length>0){output.className="search-results "+extraClass;array.forEach(item=>{const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";length+=1;const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`<span class="typename">${typeName}</span>`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=` <div class="alias">\
+<b>${item.alias}</b><i class="grey">&nbsp;- see&nbsp;</i>\
+</div>`}resultName.insertAdjacentHTML("beforeend",`<div class="path">${alias}\
+${item.displayPath}<span class="${type}">${name}</span>\
+</div>`);const description=document.createElement("div");description.className="desc";description.insertAdjacentHTML("beforeend",item.desc);link.appendChild(description);output.appendChild(link)})}else if(query.error===null){output.className="search-failed"+extraClass;output.innerHTML="No results :(<br/>"+"Try on <a href=\"https://duckduckgo.com/?q="+encodeURIComponent("rust "+query.userQuery)+"\">DuckDuckGo</a>?<br/><br/>"+"Or try looking in one of these:<ul><li>The <a "+"href=\"https://doc.rust-lang.org/reference/index.html\">Rust Reference</a> "+" for technical details about the language.</li><li><a "+"href=\"https://doc.rust-lang.org/rust-by-example/index.html\">Rust By "+"Example</a> for expository code examples.</a></li><li>The <a "+"href=\"https://doc.rust-lang.org/book/index.html\">Rust Book</a> for "+"introductions to language features and the language itself.</li><li><a "+"href=\"https://docs.rs\">Docs.rs</a> for documentation of crates released on"+" <a href=\"https://crates.io/\">crates.io</a>.</li></ul>"}return[output,length]}function makeTabHeader(tabNb,text,nbElems){const fmtNbElems=nbElems<10?`\u{2007}(${nbElems})\u{2007}\u{2007}`:nbElems<100?`\u{2007}(${nbElems})\u{2007}`:`\u{2007}(${nbElems})`;if(searchState.currentTab===tabNb){return"<button class=\"selected\">"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}return"<button>"+text+"<span class=\"count\">"+fmtNbElems+"</span></button>"}function showResults(results,go_to_first,filterCrates){const search=searchState.outputElement();if(go_to_first||(results.others.length===1&&getSettingValue("go-to-only-result")==="true")){window.onunload=()=>{};searchState.removeQueryParameters();const elem=document.createElement("a");elem.href=results.others[0].href;removeClass(elem,"active");document.body.appendChild(elem);elem.click();return}if(results.query===undefined){results.query=parseQuery(searchState.input.value)}currentResults=results.query.userQuery;const ret_others=addTab(results.others,results.query,true);const ret_in_args=addTab(results.in_args,results.query,false);const ret_returned=addTab(results.returned,results.query,false);let currentTab=searchState.currentTab;if((currentTab===0&&ret_others[1]===0)||(currentTab===1&&ret_in_args[1]===0)||(currentTab===2&&ret_returned[1]===0)){if(ret_others[1]!==0){currentTab=0}else if(ret_in_args[1]!==0){currentTab=1}else if(ret_returned[1]!==0){currentTab=2}}let crates="";const crates_list=Object.keys(rawSearchIndex);if(crates_list.length>1){crates=" in&nbsp;<div id=\"crate-search-div\"><select id=\"crate-search\">"+"<option value=\"all crates\">all crates</option>";for(const c of crates_list){crates+=`<option value="${c}" ${c === filterCrates && "selected"}>${c}</option>`}crates+="</select></div>"}let output=`<h1 class="search-results-title">Results${crates}</h1>`;if(results.query.error!==null){const error=results.query.error;error.forEach((value,index)=>{value=value.split("<").join("&lt;").split(">").join("&gt;");if(index%2!==0){error[index]=`<code>${value.replaceAll(" ", "&nbsp;")}</code>`}else{error[index]=value}});output+=`<h3 class="error">Query parser error: "${error.join("")}".</h3>`;output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+"</div>";currentTab=0}else if(results.query.foundElems<=1&&results.query.returned.length===0){output+="<div id=\"search-tabs\">"+makeTabHeader(0,"In Names",ret_others[1])+makeTabHeader(1,"In Parameters",ret_in_args[1])+makeTabHeader(2,"In Return Types",ret_returned[1])+"</div>"}else{const signatureTabTitle=results.query.elems.length===0?"In Function Return Types":results.query.returned.length===0?"In Function Parameters":"In Function Signatures";output+="<div id=\"search-tabs\">"+makeTabHeader(0,signatureTabTitle,ret_others[1])+"</div>";currentTab=0}if(results.query.correction!==null){const orig=results.query.returned.length>0?results.query.returned[0].name:results.query.elems[0].name;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found. `+"Showing results for closest type name "+`"${results.query.correction}" instead.</h3>`}if(results.query.proposeCorrectionFrom!==null){const orig=results.query.proposeCorrectionFrom;const targ=results.query.proposeCorrectionTo;output+="<h3 class=\"search-corrections\">"+`Type "${orig}" not found and used as generic parameter. `+`Consider searching for "${targ}" instead.</h3>`}const resultsElem=document.createElement("div");resultsElem.id="results";resultsElem.appendChild(ret_others[0]);resultsElem.appendChild(ret_in_args[0]);resultsElem.appendChild(ret_returned[0]);search.innerHTML=output;const crateSearch=document.getElementById("crate-search");if(crateSearch){crateSearch.addEventListener("input",updateCrate)}search.appendChild(resultsElem);searchState.showResults(search);const elems=document.getElementById("search-tabs").childNodes;searchState.focusedByTab=[];let i=0;for(const elem of elems){const j=i;elem.onclick=()=>printTab(j);searchState.focusedByTab.push(null);i+=1}printTab(currentTab)}function updateSearchHistory(url){if(!browserSupportsHistoryApi()){return}const params=searchState.getQueryStringParams();if(!history.state&&!params.search){history.pushState(null,"",url)}else{history.replaceState(null,"",url)}}function search(e,forced){if(e){e.preventDefault()}const query=parseQuery(searchState.input.value.trim());let filterCrates=getFilterCrates();if(!forced&&query.userQuery===currentResults){if(query.userQuery.length>0){putBackSearch()}return}searchState.setLoadingSearch();const params=searchState.getQueryStringParams();if(filterCrates===null&&params["filter-crate"]!==undefined){filterCrates=params["filter-crate"]}searchState.title="Results for "+query.original+" - Rust";updateSearchHistory(buildUrl(query.original,filterCrates));showResults(execQuery(query,searchWords,filterCrates,window.currentCrate),params.go_to_first,filterCrates)}function buildItemSearchTypeAll(types,lowercasePaths){return types.map(type=>buildItemSearchType(type,lowercasePaths))}function buildItemSearchType(type,lowercasePaths){const PATH_INDEX_DATA=0;const GENERICS_DATA=1;let pathIndex,generics;if(typeof type==="number"){pathIndex=type;generics=[]}else{pathIndex=type[PATH_INDEX_DATA];generics=buildItemSearchTypeAll(type[GENERICS_DATA],lowercasePaths)}if(pathIndex<0){return{id:pathIndex,ty:TY_GENERIC,path:null,generics,}}if(pathIndex===0){return{id:null,ty:null,path:null,generics,}}const item=lowercasePaths[pathIndex-1];return{id:buildTypeMapIndex(item.name),ty:item.ty,path:item.path,generics,}}function buildFunctionSearchType(functionSearchType,lowercasePaths){const INPUTS_DATA=0;const OUTPUT_DATA=1;if(functionSearchType===0){return null}let inputs,output;if(typeof functionSearchType[INPUTS_DATA]==="number"){inputs=[buildItemSearchType(functionSearchType[INPUTS_DATA],lowercasePaths)]}else{inputs=buildItemSearchTypeAll(functionSearchType[INPUTS_DATA],lowercasePaths)}if(functionSearchType.length>1){if(typeof functionSearchType[OUTPUT_DATA]==="number"){output=[buildItemSearchType(functionSearchType[OUTPUT_DATA],lowercasePaths)]}else{output=buildItemSearchTypeAll(functionSearchType[OUTPUT_DATA],lowercasePaths)}}else{output=[]}const where_clause=[];const l=functionSearchType.length;for(let i=2;i<l;++i){where_clause.push(typeof functionSearchType[i]==="number"?[buildItemSearchType(functionSearchType[i],lowercasePaths)]:buildItemSearchTypeAll(functionSearchType[i],lowercasePaths))}return{inputs,output,where_clause,}}function buildIndex(rawSearchIndex){searchIndex=[];const searchWords=[];typeNameIdMap=new Map();const charA="A".charCodeAt(0);let currentIndex=0;let id=0;typeNameIdOfArray=buildTypeMapIndex("array");typeNameIdOfSlice=buildTypeMapIndex("slice");typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");for(const crate in rawSearchIndex){if(!hasOwnPropertyRustdoc(rawSearchIndex,crate)){continue}let crateSize=0;const crateCorpus=rawSearchIndex[crate];searchWords.push(crate);const crateRow={crate:crate,ty:1,name:crate,path:"",desc:crateCorpus.doc,parent:undefined,type:null,id:id,normalizedName:crate.indexOf("_")===-1?crate:crate.replace(/_/g,""),deprecated:null,};id+=1;searchIndex.push(crateRow);currentIndex+=1;const itemTypes=crateCorpus.t;const itemNames=crateCorpus.n;const itemPaths=new Map(crateCorpus.q);const itemDescs=crateCorpus.d;const itemParentIdxs=crateCorpus.i;const itemFunctionSearchTypes=crateCorpus.f;const deprecatedItems=new Set(crateCorpus.c);const paths=crateCorpus.p;const aliases=crateCorpus.a;const lowercasePaths=[];let len=paths.length;let lastPath=itemPaths.get(0);for(let i=0;i<len;++i){const elem=paths[i];const ty=elem[0];const name=elem[1];let path=null;if(elem.length>2){path=itemPaths.has(elem[2])?itemPaths.get(elem[2]):lastPath;lastPath=path}lowercasePaths.push({ty:ty,name:name.toLowerCase(),path:path});paths[i]={ty:ty,name:name,path:path}}lastPath="";len=itemTypes.length;for(let i=0;i<len;++i){let word="";if(typeof itemNames[i]==="string"){word=itemNames[i].toLowerCase()}searchWords.push(word);const path=itemPaths.has(i)?itemPaths.get(i):lastPath;const row={crate:crate,ty:itemTypes.charCodeAt(i)-charA,name:itemNames[i],path:path,desc:itemDescs[i],parent:itemParentIdxs[i]>0?paths[itemParentIdxs[i]-1]:undefined,type:buildFunctionSearchType(itemFunctionSearchTypes[i],lowercasePaths),id:id,normalizedName:word.indexOf("_")===-1?word:word.replace(/_/g,""),deprecated:deprecatedItems.has(i),};id+=1;searchIndex.push(row);lastPath=row.path;crateSize+=1}if(aliases){const currentCrateAliases=new Map();ALIASES.set(crate,currentCrateAliases);for(const alias_name in aliases){if(!hasOwnPropertyRustdoc(aliases,alias_name)){continue}let currentNameAliases;if(currentCrateAliases.has(alias_name)){currentNameAliases=currentCrateAliases.get(alias_name)}else{currentNameAliases=[];currentCrateAliases.set(alias_name,currentNameAliases)}for(const local_alias of aliases[alias_name]){currentNameAliases.push(local_alias+currentIndex)}}}currentIndex+=crateSize}return searchWords}function onSearchSubmit(e){e.preventDefault();searchState.clearInputTimeout();search()}function putBackSearch(){const search_input=searchState.input;if(!searchState.input){return}if(search_input.value!==""&&!searchState.isDisplayed()){searchState.showResults();if(browserSupportsHistoryApi()){history.replaceState(null,"",buildUrl(search_input.value,getFilterCrates()))}document.title=searchState.title}}function registerSearchEvents(){const params=searchState.getQueryStringParams();if(searchState.input.value===""){searchState.input.value=params.search||""}const searchAfter500ms=()=>{searchState.clearInputTimeout();if(searchState.input.value.length===0){searchState.hideResults()}else{searchState.timeout=setTimeout(search,500)}};searchState.input.onkeyup=searchAfter500ms;searchState.input.oninput=searchAfter500ms;document.getElementsByClassName("search-form")[0].onsubmit=onSearchSubmit;searchState.input.onchange=e=>{if(e.target!==document.activeElement){return}searchState.clearInputTimeout();setTimeout(search,0)};searchState.input.onpaste=searchState.input.onchange;searchState.outputElement().addEventListener("keydown",e=>{if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey){return}if(e.which===38){const previous=document.activeElement.previousElementSibling;if(previous){previous.focus()}else{searchState.focus()}e.preventDefault()}else if(e.which===40){const next=document.activeElement.nextElementSibling;if(next){next.focus()}const rect=document.activeElement.getBoundingClientRect();if(window.innerHeight-rect.bottom<rect.height){window.scrollBy(0,rect.height)}e.preventDefault()}else if(e.which===37){nextTab(-1);e.preventDefault()}else if(e.which===39){nextTab(1);e.preventDefault()}});searchState.input.addEventListener("keydown",e=>{if(e.which===40){focusSearchResult();e.preventDefault()}});searchState.input.addEventListener("focus",()=>{putBackSearch()});searchState.input.addEventListener("blur",()=>{searchState.input.placeholder=searchState.input.origPlaceholder});if(browserSupportsHistoryApi()){const previousTitle=document.title;window.addEventListener("popstate",e=>{const params=searchState.getQueryStringParams();document.title=previousTitle;currentResults=null;if(params.search&&params.search.length>0){searchState.input.value=params.search;search(e)}else{searchState.input.value="";searchState.hideResults()}})}window.onpageshow=()=>{const qSearch=searchState.getQueryStringParams().search;if(searchState.input.value===""&&qSearch){searchState.input.value=qSearch}search()}}function updateCrate(ev){if(ev.target.value==="all crates"){const query=searchState.input.value.trim();updateSearchHistory(buildUrl(query,null))}currentResults=null;search(undefined,true)}const searchWords=buildIndex(rawSearchIndex);if(typeof window!=="undefined"){registerSearchEvents();if(window.searchState.getQueryStringParams().search){search()}}if(typeof exports!=="undefined"){exports.initSearch=initSearch;exports.execQuery=execQuery;exports.parseQuery=parseQuery}return searchWords}if(typeof window!=="undefined"){window.initSearch=initSearch;if(window.searchIndex!==undefined){initSearch(window.searchIndex)}}else{initSearch({})}})()
\ No newline at end of file
diff --git a/docs/static.files/settings-74424d7eec62a23e.js b/docs/static.files/settings-74424d7eec62a23e.js
new file mode 100644
index 0000000..3014f75
--- /dev/null
+++ b/docs/static.files/settings-74424d7eec62a23e.js
@@ -0,0 +1,17 @@
+"use strict";(function(){const isSettingsPage=window.location.pathname.endsWith("/settings.html");function changeSetting(settingName,value){if(settingName==="theme"){const useSystem=value==="system preference"?"true":"false";updateLocalStorage("use-system-theme",useSystem)}updateLocalStorage(settingName,value);switch(settingName){case"theme":case"preferred-dark-theme":case"preferred-light-theme":updateTheme();updateLightAndDark();break;case"line-numbers":if(value===true){window.rustdoc_add_line_numbers_to_examples()}else{window.rustdoc_remove_line_numbers_from_examples()}break}}function showLightAndDark(){removeClass(document.getElementById("preferred-light-theme"),"hidden");removeClass(document.getElementById("preferred-dark-theme"),"hidden")}function hideLightAndDark(){addClass(document.getElementById("preferred-light-theme"),"hidden");addClass(document.getElementById("preferred-dark-theme"),"hidden")}function updateLightAndDark(){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||(useSystem===null&&getSettingValue("theme")===null)){showLightAndDark()}else{hideLightAndDark()}}function setEvents(settingsElement){updateLightAndDark();onEachLazy(settingsElement.querySelectorAll("input[type=\"checkbox\"]"),toggle=>{const settingId=toggle.id;const settingValue=getSettingValue(settingId);if(settingValue!==null){toggle.checked=settingValue==="true"}toggle.onchange=()=>{changeSetting(toggle.id,toggle.checked)}});onEachLazy(settingsElement.querySelectorAll("input[type=\"radio\"]"),elem=>{const settingId=elem.name;let settingValue=getSettingValue(settingId);if(settingId==="theme"){const useSystem=getSettingValue("use-system-theme");if(useSystem==="true"||settingValue===null){settingValue=useSystem==="false"?"light":"system preference"}}if(settingValue!==null&&settingValue!=="null"){elem.checked=settingValue===elem.value}elem.addEventListener("change",ev=>{changeSetting(ev.target.name,ev.target.value)})})}function buildSettingsPageSections(settings){let output="";for(const setting of settings){const js_data_name=setting["js_name"];const setting_name=setting["name"];if(setting["options"]!==undefined){output+=`\
+<div class="setting-line" id="${js_data_name}">
+    <div class="setting-radio-name">${setting_name}</div>
+    <div class="setting-radio-choices">`;onEach(setting["options"],option=>{const checked=option===setting["default"]?" checked":"";const full=`${js_data_name}-${option.replace(/ /g,"-")}`;output+=`\
+        <label for="${full}" class="setting-radio">
+            <input type="radio" name="${js_data_name}"
+                id="${full}" value="${option}"${checked}>
+            <span>${option}</span>
+        </label>`});output+=`\
+    </div>
+</div>`}else{const checked=setting["default"]===true?" checked":"";output+=`\
+<div class="setting-line">\
+    <label class="setting-check">\
+        <input type="checkbox" id="${js_data_name}"${checked}>\
+        <span>${setting_name}</span>\
+    </label>\
+</div>`}}return output}function buildSettingsPage(){const theme_names=getVar("themes").split(",").filter(t=>t);theme_names.push("light","dark","ayu");const settings=[{"name":"Theme","js_name":"theme","default":"system preference","options":theme_names.concat("system preference"),},{"name":"Preferred light theme","js_name":"preferred-light-theme","default":"light","options":theme_names,},{"name":"Preferred dark theme","js_name":"preferred-dark-theme","default":"dark","options":theme_names,},{"name":"Auto-hide item contents for large items","js_name":"auto-hide-large-items","default":true,},{"name":"Auto-hide item methods' documentation","js_name":"auto-hide-method-docs","default":false,},{"name":"Auto-hide trait implementation documentation","js_name":"auto-hide-trait-implementations","default":false,},{"name":"Directly go to item in search if there is only one result","js_name":"go-to-only-result","default":false,},{"name":"Show line numbers on code examples","js_name":"line-numbers","default":false,},{"name":"Disable keyboard shortcuts","js_name":"disable-shortcuts","default":false,},];const elementKind=isSettingsPage?"section":"div";const innerHTML=`<div class="settings">${buildSettingsPageSections(settings)}</div>`;const el=document.createElement(elementKind);el.id="settings";if(!isSettingsPage){el.className="popover"}el.innerHTML=innerHTML;if(isSettingsPage){document.getElementById(MAIN_ID).appendChild(el)}else{el.setAttribute("tabindex","-1");getSettingsButton().appendChild(el)}return el}const settingsMenu=buildSettingsPage();function displaySettings(){settingsMenu.style.display=""}function settingsBlurHandler(event){blurHandler(event,getSettingsButton(),window.hidePopoverMenus)}if(isSettingsPage){getSettingsButton().onclick=event=>{event.preventDefault()}}else{const settingsButton=getSettingsButton();const settingsMenu=document.getElementById("settings");settingsButton.onclick=event=>{if(elemIsInParent(event.target,settingsMenu)){return}event.preventDefault();const shouldDisplaySettings=settingsMenu.style.display==="none";window.hideAllModals();if(shouldDisplaySettings){displaySettings()}};settingsButton.onblur=settingsBlurHandler;settingsButton.querySelector("a").onblur=settingsBlurHandler;onEachLazy(settingsMenu.querySelectorAll("input"),el=>{el.onblur=settingsBlurHandler});settingsMenu.onblur=settingsBlurHandler}setTimeout(()=>{setEvents(settingsMenu);if(!isSettingsPage){displaySettings()}removeClass(getSettingsButton(),"rotate")},0)})()
\ No newline at end of file
diff --git a/docs/static.files/src-script-3280b574d94e47b4.js b/docs/static.files/src-script-3280b574d94e47b4.js
new file mode 100644
index 0000000..9ea8892
--- /dev/null
+++ b/docs/static.files/src-script-3280b574d94e47b4.js
@@ -0,0 +1 @@
+"use strict";(function(){const rootPath=getVar("root-path");const NAME_OFFSET=0;const DIRS_OFFSET=1;const FILES_OFFSET=2;const RUSTDOC_MOBILE_BREAKPOINT=700;function closeSidebarIfMobile(){if(window.innerWidth<RUSTDOC_MOBILE_BREAKPOINT){updateLocalStorage("source-sidebar-show","false")}}function createDirEntry(elem,parent,fullPath,hasFoundFile){const dirEntry=document.createElement("details");const summary=document.createElement("summary");dirEntry.className="dir-entry";fullPath+=elem[NAME_OFFSET]+"/";summary.innerText=elem[NAME_OFFSET];dirEntry.appendChild(summary);const folders=document.createElement("div");folders.className="folders";if(elem[DIRS_OFFSET]){for(const dir of elem[DIRS_OFFSET]){if(createDirEntry(dir,folders,fullPath,false)){dirEntry.open=true;hasFoundFile=true}}}dirEntry.appendChild(folders);const files=document.createElement("div");files.className="files";if(elem[FILES_OFFSET]){const w=window.location.href.split("#")[0];for(const file_text of elem[FILES_OFFSET]){const file=document.createElement("a");file.innerText=file_text;file.href=rootPath+"src/"+fullPath+file_text+".html";file.addEventListener("click",closeSidebarIfMobile);if(!hasFoundFile&&w===file.href){file.className="selected";dirEntry.open=true;hasFoundFile=true}files.appendChild(file)}}dirEntry.appendChild(files);parent.appendChild(dirEntry);return hasFoundFile}function toggleSidebar(){const child=this.parentNode.children[0];if(child.innerText===">"){addClass(document.documentElement,"src-sidebar-expanded");child.innerText="<";updateLocalStorage("source-sidebar-show","true")}else{removeClass(document.documentElement,"src-sidebar-expanded");child.innerText=">";updateLocalStorage("source-sidebar-show","false")}}function createSidebarToggle(){const sidebarToggle=document.createElement("div");sidebarToggle.id="src-sidebar-toggle";const inner=document.createElement("button");if(getCurrentValue("source-sidebar-show")==="true"){inner.innerText="<"}else{inner.innerText=">"}inner.onclick=toggleSidebar;sidebarToggle.appendChild(inner);return sidebarToggle}function createSrcSidebar(){const container=document.querySelector("nav.sidebar");const sidebarToggle=createSidebarToggle();container.insertBefore(sidebarToggle,container.firstChild);const sidebar=document.createElement("div");sidebar.id="src-sidebar";let hasFoundFile=false;const title=document.createElement("div");title.className="title";title.innerText="Files";sidebar.appendChild(title);Object.keys(srcIndex).forEach(key=>{srcIndex[key][NAME_OFFSET]=key;hasFoundFile=createDirEntry(srcIndex[key],sidebar,"",hasFoundFile)});container.appendChild(sidebar);const selected_elem=sidebar.getElementsByClassName("selected")[0];if(typeof selected_elem!=="undefined"){selected_elem.focus()}}const lineNumbersRegex=/^#?(\d+)(?:-(\d+))?$/;function highlightSrcLines(match){if(typeof match==="undefined"){match=window.location.hash.match(lineNumbersRegex)}if(!match){return}let from=parseInt(match[1],10);let to=from;if(typeof match[2]!=="undefined"){to=parseInt(match[2],10)}if(to<from){const tmp=to;to=from;from=tmp}let elem=document.getElementById(from);if(!elem){return}const x=document.getElementById(from);if(x){x.scrollIntoView()}onEachLazy(document.getElementsByClassName("src-line-numbers"),e=>{onEachLazy(e.getElementsByTagName("a"),i_e=>{removeClass(i_e,"line-highlighted")})});for(let i=from;i<=to;++i){elem=document.getElementById(i);if(!elem){break}addClass(elem,"line-highlighted")}}const handleSrcHighlight=(function(){let prev_line_id=0;const set_fragment=name=>{const x=window.scrollX,y=window.scrollY;if(browserSupportsHistoryApi()){history.replaceState(null,null,"#"+name);highlightSrcLines()}else{location.replace("#"+name)}window.scrollTo(x,y)};return ev=>{let cur_line_id=parseInt(ev.target.id,10);if(isNaN(cur_line_id)||ev.ctrlKey||ev.altKey||ev.metaKey){return}ev.preventDefault();if(ev.shiftKey&&prev_line_id){if(prev_line_id>cur_line_id){const tmp=prev_line_id;prev_line_id=cur_line_id;cur_line_id=tmp}set_fragment(prev_line_id+"-"+cur_line_id)}else{prev_line_id=cur_line_id;set_fragment(cur_line_id)}}}());window.addEventListener("hashchange",()=>{const match=window.location.hash.match(lineNumbersRegex);if(match){return highlightSrcLines(match)}});onEachLazy(document.getElementsByClassName("src-line-numbers"),el=>{el.addEventListener("click",handleSrcHighlight)});highlightSrcLines();window.createSrcSidebar=createSrcSidebar})()
\ No newline at end of file
diff --git a/docs/static.files/storage-fec3eaa3851e447d.js b/docs/static.files/storage-fec3eaa3851e447d.js
new file mode 100644
index 0000000..a687118
--- /dev/null
+++ b/docs/static.files/storage-fec3eaa3851e447d.js
@@ -0,0 +1 @@
+"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func,reversed){if(arr&&arr.length>0){if(reversed){for(let i=arr.length-1;i>=0;--i){if(func(arr[i])){return true}}}else{for(const elem of arr){if(func(elem)){return true}}}}return false}function onEachLazy(lazyArray,func,reversed){return onEach(Array.prototype.slice.call(lazyArray),func,reversed)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+newThemeName+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(`<link rel="stylesheet" id="themeStyle" href="${newHref}">`);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0)}})
\ No newline at end of file
diff --git a/docs/static.files/wheel-7b819b6101059cd0.svg b/docs/static.files/wheel-7b819b6101059cd0.svg
new file mode 100644
index 0000000..83c07f6
--- /dev/null
+++ b/docs/static.files/wheel-7b819b6101059cd0.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="27.434" height="29.5" enable-background="new 0 0 27.434 29.5" viewBox="0 0 27.434 29.5"><path d="M27.316 18.39a2.696 2.696 0 0 0-.98-1.46 1.62 1.62 0 0 1-.016-.762l.035-.176v-1.191c0-1.246-.003-1.278-.046-1.473a1.717 1.717 0 0 1 .007-.805c.477-.343.829-.859.997-1.472.257-.957.074-2.094-.508-3.117l-.594-1.032c-.746-1.304-1.965-2.117-3.18-2.117-.379 0-.75.078-1.086.235a1.958 1.958 0 0 1-.855-.391l-.102-.082-.117-.063-1.855-1.07-.094-.055-.106-.043c-.378-.156-.66-.41-.77-.554C17.919 1.172 16.349 0 14.297 0h-1.155c-2.043 0-3.61 1.152-3.75 2.723-.114.14-.391.382-.758.527l-.102.04-.094.05-1.94 1.066-.134.074-.117.094a2.019 2.019 0 0 1-.832.403 2.518 2.518 0 0 0-1.008-.211c-1.199 0-2.414.82-3.168 2.14l-.59 1.032c-.41.718-.64 1.523-.64 2.257-.004.953.36 1.758 1.012 2.258.035.152.058.445-.016.785-.04.168-.063.282-.063 1.563 0 1.148 0 1.148.016 1.261l.008.075.015.074c.075.344.047.64.012.8-.644.5-1.004 1.302-.992 2.259.008.726.238 1.52.648 2.242l.59 1.027c.758 1.332 1.965 2.16 3.149 2.16.324 0 .644-.062.937-.187.168.039.492.156.813.418l.11.086.124.07 2.047 1.156.102.059.105.043c.363.144.648.379.766.52.164 1.519 1.718 2.632 3.746 2.632h1.156c2.035 0 3.598-1.133 3.746-2.672.117-.144.402-.394.773-.55l.114-.047.101-.063 1.961-1.156.106-.063.097-.078c.309-.246.653-.37.832-.398.313.136.66.21 1.016.21 1.2 0 2.41-.82 3.164-2.14l.594-1.031c.59-1.028.777-2.164.52-3.117Zm-2.043 2.247-.59 1.031c-.437.766-1.105 1.25-1.636 1.25a.7.7 0 0 1-.371-.094 1.146 1.146 0 0 0-.567-.129c-.593 0-1.382.297-2.007.797l-1.961 1.156c-1.016.426-1.848 1.293-1.848 1.93 0 .64-.898 1.16-1.996 1.16H13.14c-1.102 0-2-.515-2-1.14 0-.63-.832-1.477-1.852-1.887l-2.047-1.16c-.637-.512-1.426-.813-2.008-.813-.199 0-.379.035-.515.114a.648.648 0 0 1-.332.085c-.52 0-1.18-.5-1.621-1.273l-.59-1.031c-.543-.953-.555-1.98-.024-2.285.532-.305.782-1.434.551-2.504V14.8c0-1.09.02-1.18.02-1.18.238-1.074-.008-2.203-.551-2.516-.54-.304-.54-1.34.008-2.293l.59-1.03c.437-.766 1.101-1.255 1.636-1.255a.73.73 0 0 1 .364.094c.152.086.343.125.566.125.594 0 1.379-.297 2.004-.793l1.945-1.066c1.02-.407 1.856-1.278 1.856-1.934 0-.656.898-1.191 2-1.191h1.156c1.098 0 1.996.543 1.996 1.21 0 .669.832 1.555 1.848 1.973L20 6.012c.617.492 1.402.777 2.012.777.242 0 .453-.047.62-.14a.79.79 0 0 1 .403-.102c.55 0 1.223.476 1.652 1.23l.59 1.032c.543.953.52 2.004-.062 2.336-.574.332-.86 1.48-.625 2.554 0 0 .008.04.008 1.102v1.011c-.215 1.051.07 2.176.636 2.5.567.325.586 1.368.04 2.325Zm0 0"/><path d="M13.61 7.61a7.084 7.084 0 0 0-7.083 7.085 7.085 7.085 0 1 0 14.168 0A7.088 7.088 0 0 0 13.61 7.61Zm0 12.41a5.33 5.33 0 0 1-5.325-5.325 5.33 5.33 0 0 1 5.324-5.32 5.327 5.327 0 0 1 5.325 5.32 5.328 5.328 0 0 1-5.325 5.325Zm0 0"/><path d="M13.684 9.906a4.722 4.722 0 0 0-4.72 4.719 4.722 4.722 0 0 0 4.72 4.719 4.724 4.724 0 0 0 4.714-4.719 4.724 4.724 0 0 0-4.714-4.719Zm0 7.676a2.954 2.954 0 1 1 0-5.91 2.953 2.953 0 0 1 2.953 2.953 2.957 2.957 0 0 1-2.953 2.957Zm0 0"/></svg>
\ No newline at end of file